An algorithm to generate all maximal independent sets in lexicographic order with polynomial time delay between the output of two successive independent sets was proposed by Johnson. This algorithm needs an exponential amount of space. Johnson suggested an open problem, which is to find such an algorithm with polynomial time delay and space needed between the output of two successive maximal independent sets. In this paper, we try to investigate this problem on trees. We first introduce a new problem—the constrained maximal independent set problem, which is NP-complete for general graphs. We show that, for trees, the constrained maximal independent set problem can be solved in θ(n) time, where n is the number of vertices. Based upon this algorithm, we propose another algorithm that generates all maximal independent sets in lexicographic order with O(n2) delay between the output of any two successive independent sets with O(n) space for trees. In other words, we partially solve Johnson's open problem.