Index: src/java/org/apache/lucene/analysis/StopFilter.java
===================================================================
--- src/java/org/apache/lucene/analysis/StopFilter.java	(revision 896986)
+++ src/java/org/apache/lucene/analysis/StopFilter.java	(working copy)
@@ -102,7 +102,13 @@
    */
   private StopFilter(Version matchVersion, boolean enablePositionIncrements, TokenStream input, Set<?> stopWords, boolean ignoreCase){
     super(input);
-    this.stopWords = CharArraySet.unmodifiableSet(new CharArraySet(matchVersion, stopWords, ignoreCase));
+    if(stopWords instanceof CharArraySet) {
+      this.stopWords = CharArraySet.unmodifiableSet(
+          CharArraySet.copy(matchVersion, stopWords));
+    } else {
+      this.stopWords = CharArraySet.unmodifiableSet(
+          new CharArraySet(matchVersion, stopWords, ignoreCase));  
+    }
     this.enablePositionIncrements = enablePositionIncrements;
     termAtt = addAttribute(TermAttribute.class);
     posIncrAtt = addAttribute(PositionIncrementAttribute.class);
