Index: src/java/org/apache/lucene/search/payloads/BoostingNearQuery.java
===================================================================
--- src/java/org/apache/lucene/search/payloads/BoostingNearQuery.java	(revision 806639)
+++ src/java/org/apache/lucene/search/payloads/BoostingNearQuery.java	(working copy)
@@ -65,6 +65,19 @@
   public Weight createWeight(Searcher searcher) throws IOException {
     return new BoostingSpanWeight(this, searcher);
   }
+  
+  public Object clone() {
+    int sz = clauses.size();
+    SpanQuery[] newClauses = new SpanQuery[sz];
+
+    for (int i = 0; i < sz; i++) {
+      SpanQuery clause = (SpanQuery) clauses.get(i);
+      newClauses[i] = (SpanQuery) clause.clone();
+    }
+    BoostingNearQuery boostingNearQuery = new BoostingNearQuery(newClauses, slop, inOrder);
+    boostingNearQuery.setBoost(getBoost());
+    return boostingNearQuery;
+  }
 
   public class BoostingSpanWeight extends SpanWeight {
     public BoostingSpanWeight(SpanQuery query, Searcher searcher) throws IOException {
Index: src/java/org/apache/lucene/search/spans/SpanNearQuery.java
===================================================================
--- src/java/org/apache/lucene/search/spans/SpanNearQuery.java	(revision 806639)
+++ src/java/org/apache/lucene/search/spans/SpanNearQuery.java	(working copy)
@@ -34,9 +34,9 @@
  * maximum number of intervening unmatched positions, as well as whether
  * matches are required to be in-order. */
 public class SpanNearQuery extends SpanQuery implements Cloneable {
-  private List clauses;
-  private int slop;
-  private boolean inOrder;
+  protected List clauses;
+  protected int slop;
+  protected boolean inOrder;
 
   protected String field;
   private boolean collectPayloads;
Index: src/test/org/apache/lucene/search/payloads/TestBoostingNearQuery.java
===================================================================
--- src/test/org/apache/lucene/search/payloads/TestBoostingNearQuery.java	(revision 806645)
+++ src/test/org/apache/lucene/search/payloads/TestBoostingNearQuery.java	(working copy)
@@ -121,6 +121,7 @@
 		TopDocs hits;
 
 		query = newPhraseQuery("field", "twenty two", true);
+		QueryUtils.check(query);
 		
 		// all 10 hits should have score = 3 because adjacent terms have payloads of 2,4
 		// and all the similarity factors are set to 1

