diff --git a/src/cmd/go/main.go b/src/cmd/go/main.go
index df0cf1b3fde0e2f930b47c6a22a63bb73b8a8996..7f4c75866c12144ae556820d54a7167331380107 100644
--- a/src/cmd/go/main.go
+++ b/src/cmd/go/main.go
@@ -238,6 +238,11 @@ func printUsage(w io.Writer) {
 }
 
 func usage() {
+	// special case "go test -h"
+	if len(os.Args) > 1 && os.Args[1] == "test" {
+		help([]string{"testflag"})
+		os.Exit(2)
+	}
 	printUsage(os.Stderr)
 	os.Exit(2)
 }