Index: contrib/miscellaneous/src/java/org/apache/lucene/queryParser/analyzing/AnalyzingQueryParser.java
===================================================================
--- contrib/miscellaneous/src/java/org/apache/lucene/queryParser/analyzing/AnalyzingQueryParser.java	(revision 803801)
+++ contrib/miscellaneous/src/java/org/apache/lucene/queryParser/analyzing/AnalyzingQueryParser.java	(working copy)
@@ -105,7 +105,13 @@
     }
 
     // get Analyzer from superclass and tokenize the term
-    TokenStream source = getAnalyzer().tokenStream(field, new StringReader(termStr));
+    TokenStream source;
+    try {
+      source = getAnalyzer().reusableTokenStream(field, new StringReader(termStr));
+      source.reset();
+    } catch (IOException e) {
+      source = getAnalyzer().tokenStream(field, new StringReader(termStr));
+    }
     TermAttribute termAtt = (TermAttribute) source.addAttribute(TermAttribute.class);
     
     int countTokens = 0;
@@ -186,7 +192,13 @@
    */
   protected Query getPrefixQuery(String field, String termStr) throws ParseException {
     // get Analyzer from superclass and tokenize the term
-    TokenStream source = getAnalyzer().tokenStream(field, new StringReader(termStr));
+    TokenStream source;
+    try {
+      source = getAnalyzer().reusableTokenStream(field, new StringReader(termStr));
+      source.reset();
+    } catch (IOException e) {
+      source = getAnalyzer().tokenStream(field, new StringReader(termStr));
+    }
     List tlist = new ArrayList();
     TermAttribute termAtt = (TermAttribute) source.addAttribute(TermAttribute.class);
     
@@ -233,7 +245,13 @@
   protected Query getFuzzyQuery(String field, String termStr, float minSimilarity)
       throws ParseException {
     // get Analyzer from superclass and tokenize the term
-    TokenStream source = getAnalyzer().tokenStream(field, new StringReader(termStr));
+    TokenStream source;
+    try {
+      source = getAnalyzer().reusableTokenStream(field, new StringReader(termStr));
+      source.reset();
+    } catch (IOException e) {
+      source = getAnalyzer().tokenStream(field, new StringReader(termStr));
+    }
     TermAttribute termAtt = (TermAttribute) source.addAttribute(TermAttribute.class);
     String nextToken = null;
     boolean multipleTokens = false;
@@ -268,7 +286,13 @@
   protected Query getRangeQuery(String field, String part1, String part2, boolean inclusive)
       throws ParseException {
     // get Analyzer from superclass and tokenize the terms
-    TokenStream source = getAnalyzer().tokenStream(field, new StringReader(part1));
+    TokenStream source;
+    try {
+      source = getAnalyzer().reusableTokenStream(field, new StringReader(part1));
+      source.reset();
+    } catch (IOException e) {
+      source = getAnalyzer().tokenStream(field, new StringReader(part1));
+    }
     TermAttribute termAtt = (TermAttribute) source.addAttribute(TermAttribute.class);
     boolean multipleTokens = false;
 
@@ -292,7 +316,12 @@
     }
 
     // part2
-    source = getAnalyzer().tokenStream(field, new StringReader(part2));
+    try {
+      source = getAnalyzer().reusableTokenStream(field, new StringReader(part2));
+      source.reset();
+    } catch (IOException e) {
+      source = getAnalyzer().tokenStream(field, new StringReader(part2));
+    }
     termAtt = (TermAttribute) source.addAttribute(TermAttribute.class);
     
     try {
