use 0:00:000 timestamps
diff --git a/foundation_test.go b/foundation_test.go
index 112d59f..12dfd36 100644
--- a/foundation_test.go
+++ b/foundation_test.go
@@ -301,7 +301,7 @@
 	logger = log.New(os.Stderr, "", 0)
 	logger = c
 	logger.Output(0, "Hello there")
-	expected := `\[LOG\] [0-9]+(\.[0-9]+)?[mun]?s +Hello there\n`
+	expected := `\[LOG\] [0-9]+:[0-9][0-9]\.[0-9][0-9][0-9] +Hello there\n`
 	output := c.GetTestLog()
 	c.Assert(output, gocheck.Matches, expected)
 }
diff --git a/gocheck.go b/gocheck.go
index 203f27d..35a474e 100644
--- a/gocheck.go
+++ b/gocheck.go
@@ -601,6 +601,7 @@
 		tempDir: runner.tempDir,
 		done:    make(chan *C, 1),
 		timer:   timer{benchTime: runner.benchTime},
+		startTime: time.Now(),
 	}
 	runner.tracker.expectCall(c)
 	go (func() {
diff --git a/helpers.go b/helpers.go
index f8edceb..49cee2f 100644
--- a/helpers.go
+++ b/helpers.go
@@ -93,7 +93,11 @@
 // the minimum interface of *log.Logger.
 func (c *C) Output(calldepth int, s string) error {
 	d := time.Now().Sub(c.startTime)
-	c.Logf("[LOG] %-10v %s", d, s)
+	msec := d / time.Millisecond
+	sec := d / time.Second
+	min := d / time.Minute
+
+	c.Logf("[LOG] %d:%02d.%03d %s", min, sec % 60, msec % 1000, s)
 	return nil
 }