diff --git a/internal/sqladapter/statement.go b/internal/sqladapter/statement.go
index f82182ab0fa7ba56cd8af7ed44eafe9791d37319..b8c73938dfdd57874252797d6f50c1f752ee2732 100644
--- a/internal/sqladapter/statement.go
+++ b/internal/sqladapter/statement.go
@@ -56,7 +56,6 @@ func (c *Stmt) Close() {
 		// close it for real.
 		return
 	}
-	return
 	if atomic.LoadInt32(&c.dead) > 0 {
 		// Statement is dead and we can close it for real.
 		c.Stmt.Close()
diff --git a/internal/sqladapter/testing/adapter.go.tpl b/internal/sqladapter/testing/adapter.go.tpl
index d4276efb0d07243c430f3d9c81872b5926830db1..eb539c50819cf3724953a5cbe9c1490a88ac2c23 100644
--- a/internal/sqladapter/testing/adapter.go.tpl
+++ b/internal/sqladapter/testing/adapter.go.tpl
@@ -6,19 +6,19 @@ import (
 	"database/sql"
 	"flag"
 	"fmt"
-	"log"
 	"math/rand"
 	"os"
 	"strconv"
 	"strings"
 	"sync"
 	"testing"
-	"time"
+  "log"
+  "time"
 
 	"github.com/stretchr/testify/assert"
 	"upper.io/db.v2"
-	"upper.io/db.v2/internal/sqladapter"
 	"upper.io/db.v2/lib/sqlbuilder"
+  "upper.io/db.v2/internal/sqladapter"
 )
 
 type customLogger struct {
@@ -81,44 +81,41 @@ func TestPreparedStatementsCache(t *testing.T) {
 	assert.NoError(t, err)
 	defer sess.Close()
 
-	var tMu sync.Mutex
+  var tMu sync.Mutex
 	tFatal := func(err error) {
 		tMu.Lock()
 		defer tMu.Unlock()
 		t.Fatal(err)
 	}
 
-	// The max number of elements we can have on our LRU is 128, if an statement
-	// is evicted it will be marked as dead and will be closed only when no other
-	// queries are using it.
-	const maxPreparedStatements = 128 * 2
-
-	var wg sync.WaitGroup
-	for i := 0; i < 50000000; i++ {
-		wg.Add(1)
-		go func(i int) {
-			defer wg.Done()
-			// This query is different with each iteration and thus generates a new
-			// prepared statement everytime it's called.
-			res := sess.Collection("artist").Find().Select(db.Raw(fmt.Sprintf("COUNT(%d)", i)))
-			var count map[string]uint64
-			err := res.One(&count)
-			if err != nil {
-				tFatal(err)
-			}
-			/*
-			   if sqladapter.NumActiveStatements() > maxPreparedStatements {
-			     tFatal(fmt.Errorf("The number of active statements cannot exceed %d.", maxPreparedStatements))
-			   }
-			*/
-		}(i)
-		if i%500 == 0 {
-			log.Printf("PREPARED %d.", sqladapter.NumActiveStatements())
-			wg.Wait()
-		}
-	}
-
-	wg.Wait()
+  // The max number of elements we can have on our LRU is 128, if an statement
+  // is evicted it will be marked as dead and will be closed only when no other
+  // queries are using it.
+  const maxPreparedStatements = 128*2
+
+  var wg sync.WaitGroup
+  for i := 0; i < 500; i++ {
+    wg.Add(1)
+    go func(i int) {
+      defer wg.Done()
+      // This query is different with each iteration and thus generates a new
+      // prepared statement everytime it's called.
+      res := sess.Collection("artist").Find().Select(db.Raw(fmt.Sprintf("COUNT(%d)", i)))
+      var count map[string]uint64
+      err := res.One(&count)
+      if err != nil {
+        tFatal(err)
+      }
+      if sqladapter.NumActiveStatements() > maxPreparedStatements {
+        tFatal(fmt.Errorf("The number of active statements cannot exceed %d.", maxPreparedStatements))
+      }
+    }(i)
+    if i%maxPreparedStatements == 0 {
+      wg.Wait()
+    }
+  }
+
+  wg.Wait()
 }
 
 func TestTruncateAllCollections(t *testing.T) {