Index: /Users/jwang/projects/lucene_2_3_1/src/java/org/apache/lucene/search/BooleanQuery.java =================================================================== --- /Users/jwang/projects/lucene_2_3_1/src/java/org/apache/lucene/search/BooleanQuery.java (revision 641933) +++ /Users/jwang/projects/lucene_2_3_1/src/java/org/apache/lucene/search/BooleanQuery.java (working copy) @@ -425,13 +425,18 @@ buffer.append("+"); Query subQuery = c.getQuery(); - if (subQuery instanceof BooleanQuery) { // wrap sub-bools in parens - buffer.append("("); - buffer.append(c.getQuery().toString(field)); - buffer.append(")"); - } else - buffer.append(c.getQuery().toString(field)); - + if (subQuery!=null){ + if (subQuery instanceof BooleanQuery) { // wrap sub-bools in parens + buffer.append("("); + buffer.append(subQuery.toString(field)); + buffer.append(")"); + } else + buffer.append(subQuery.toString(field)); + } + else{ + buffer.append("null"); + } + if (i != clauses.size()-1) buffer.append(" "); }