diff --git a/bootstrap_test.go b/bootstrap_test.go
index de93b6d..e50d9ea 100644
--- a/bootstrap_test.go
+++ b/bootstrap_test.go
@@ -13,9 +13,9 @@
 package gocheck_test
 
 import (
+	"fmt"
 	"launchpad.net/gocheck"
 	"strings"
-	"fmt"
 )
 
 type BootstrapS struct{}
diff --git a/checkers.go b/checkers.go
index e6e72c4..5c91200 100644
--- a/checkers.go
+++ b/checkers.go
@@ -1,9 +1,9 @@
 package gocheck
 
 import (
+	"fmt"
 	"reflect"
 	"regexp"
-	"fmt"
 )
 
 // -----------------------------------------------------------------------
@@ -238,7 +238,6 @@
 	return value.Len() == n, ""
 }
 
-
 // -----------------------------------------------------------------------
 // ErrorMatches checker.
 
diff --git a/foundation_test.go b/foundation_test.go
index cc309ac..68709f8 100644
--- a/foundation_test.go
+++ b/foundation_test.go
@@ -7,12 +7,12 @@
 package gocheck_test
 
 import (
-	"launchpad.net/gocheck"
-	"strings"
-	"regexp"
 	"fmt"
+	"launchpad.net/gocheck"
 	"log"
 	"os"
+	"regexp"
+	"strings"
 )
 
 // -----------------------------------------------------------------------
diff --git a/gocheck.go b/gocheck.go
index adbbd7d..4f94eff 100644
--- a/gocheck.go
+++ b/gocheck.go
@@ -130,7 +130,7 @@
 	if td._path != "" {
 		err := os.RemoveAll(td._path)
 		if err != nil {
-			fmt.Fprintf(os.Stderr, "WARNING: Error cleaning up temporaries: " + err.Error())
+			fmt.Fprintf(os.Stderr, "WARNING: Error cleaning up temporaries: "+err.Error())
 		}
 	}
 }
@@ -208,7 +208,7 @@
 	i := 0
 	n := len(s)
 	for i < n {
-		j := i+1
+		j := i + 1
 		for j < n && s[j-1] != '\n' {
 			j++
 		}
diff --git a/gocheck_test.go b/gocheck_test.go
index 106866e..7bbf708 100644
--- a/gocheck_test.go
+++ b/gocheck_test.go
@@ -4,13 +4,13 @@
 package gocheck_test
 
 import (
-	"launchpad.net/gocheck"
-	"testing"
-	"runtime"
-	"regexp"
 	"flag"
 	"fmt"
+	"launchpad.net/gocheck"
 	"os"
+	"regexp"
+	"runtime"
+	"testing"
 )
 
 // We count the number of suites run at least to get a vague hint that the
diff --git a/helpers_test.go b/helpers_test.go
index 0469426..79348bc 100644
--- a/helpers_test.go
+++ b/helpers_test.go
@@ -126,7 +126,7 @@
 	testHelperFailure(c, "Check(1, checker, 2, msg)", false, false, log,
 		func() interface{} {
 			// Nice leading comment.
-			return c.Check(1, checker, 2)  // Hello there
+			return c.Check(1, checker, 2) // Hello there
 		})
 }
 
@@ -379,7 +379,6 @@
 		})
 }
 
-
 // -----------------------------------------------------------------------
 // MakeDir() tests.
 
diff --git a/run.go b/run.go
index 48a20c9..85c3853 100644
--- a/run.go
+++ b/run.go
@@ -2,10 +2,10 @@
 
 import (
 	"bufio"
-	"os"
-	"testing"
 	"flag"
 	"fmt"
+	"os"
+	"testing"
 )
 
 // -----------------------------------------------------------------------
@@ -52,7 +52,6 @@
 		testingT.Fail()
 	}
 }
-	
 
 // RunAll runs all test suites registered with the Suite() function, using the
 // given run configuration.
@@ -92,7 +91,6 @@
 	return names
 }
 
-
 // -----------------------------------------------------------------------
 // Result methods.
 
diff --git a/run_test.go b/run_test.go
index be1fdf9..04f6045 100644
--- a/run_test.go
+++ b/run_test.go
@@ -99,21 +99,21 @@
 
 func (s *RunS) TestAdd(c *C) {
 	result := &Result{
-		Succeeded: 1,
-		Skipped: 2,
-		Failed: 3,
-		Panicked: 4,
-		FixturePanicked: 5,
-		Missed: 6,
+		Succeeded:        1,
+		Skipped:          2,
+		Failed:           3,
+		Panicked:         4,
+		FixturePanicked:  5,
+		Missed:           6,
 		ExpectedFailures: 7,
 	}
 	result.Add(&Result{
-		Succeeded: 10,
-		Skipped: 20,
-		Failed: 30,
-		Panicked: 40,
-		FixturePanicked: 50,
-		Missed: 60,
+		Succeeded:        10,
+		Skipped:          20,
+		Failed:           30,
+		Panicked:         40,
+		FixturePanicked:  50,
+		Missed:           60,
 		ExpectedFailures: 70,
 	})
 	c.Check(result.Succeeded, Equals, 11)
@@ -296,7 +296,6 @@
 		"FixtureHelper.Test2",
 	})
 }
-	
 
 // -----------------------------------------------------------------------
 // Verify that verbose mode prints tests which pass as well. 
