Index: lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreQuery.java
===================================================================
--- lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreQuery.java	(revision 1468230)
+++ lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreQuery.java	(working copy)
@@ -46,8 +46,6 @@
  */
 public class TestCustomScoreQuery extends FunctionTestSetup {
 
-  // TODO: why can't this test use newSearcher?
-  
   @BeforeClass
   public static void beforeClass() throws Exception {
     createIndex(true);
@@ -211,7 +209,7 @@
     log(q);
 
     IndexReader r = DirectoryReader.open(dir);
-    IndexSearcher s = new IndexSearcher(r);
+    IndexSearcher s = newSearcher(r);
     TopDocs hits = s.search(q, 1000);
     assertEquals(N_DOCS, hits.totalHits);
     for(int i=0;i<N_DOCS;i++) {
@@ -225,7 +223,7 @@
   @Test
   public void testRewrite() throws Exception {
     IndexReader r = DirectoryReader.open(dir);
-    final IndexSearcher s = new IndexSearcher(r);
+    final IndexSearcher s = newSearcher(r);
 
     Query q = new TermQuery(new Term(TEXT_FIELD, "first"));
     CustomScoreQuery original = new CustomScoreQuery(q);
@@ -250,7 +248,7 @@
     float boost = (float) dboost;
     FunctionQuery functionQuery = new FunctionQuery(valueSource);
     IndexReader r = DirectoryReader.open(dir);
-    IndexSearcher s = new IndexSearcher(r);
+    IndexSearcher s = newSearcher(r);
 
     // regular (boolean) query.
     BooleanQuery q1 = new BooleanQuery();
@@ -260,7 +258,7 @@
     log(q1);
 
     // custom query, that should score the same as q1.
-    Query q2CustomNeutral = new CustomScoreQuery(q1);
+    CustomScoreQuery q2CustomNeutral = new CustomScoreQuery(q1);
     q2CustomNeutral.setBoost(boost);
     log(q2CustomNeutral);
 
Index: lucene/queries/src/java/org/apache/lucene/queries/CustomScoreQuery.java
===================================================================
--- lucene/queries/src/java/org/apache/lucene/queries/CustomScoreQuery.java	(revision 1468239)
+++ lucene/queries/src/java/org/apache/lucene/queries/CustomScoreQuery.java	(working copy)
@@ -210,14 +210,13 @@
           sum += valSrcWeight.getValueForNormalization();
         }
       }
-      sum *= getBoost() * getBoost(); // boost each sub-weight
-      return sum ;
+      return sum;
     }
 
     /*(non-Javadoc) @see org.apache.lucene.search.Weight#normalize(float) */
     @Override
     public void normalize(float norm, float topLevelBoost) {
-      topLevelBoost *= getBoost(); // incorporate boost
+      // note we DONT incorporate our boost because we pass it down directly!
       subQueryWeight.normalize(norm, topLevelBoost);
       for (Weight valSrcWeight : valSrcWeights) {
         if (qStrict) {
