diff --git a/seefor.go b/seefor.go
index <HASH>..<HASH> 100644
--- a/seefor.go
+++ b/seefor.go
@@ -128,10 +128,15 @@ func WrapBeforeHandler(handler http.Handler) Before {
 }
 
 // UseTimer set timer for meaturing endpoint performance.
-// If timer is nil then a new timer will be created.
+// If timer is nil and no timer exists
+// then a new timer will be created 
+// else existing timer will be returned.
 // You can serve statistics internal using Timer as handler
 func (c4 *Seefor) UseTimer(timer *Timer) *Timer {
 	if timer == nil {
+		if c4.timer != nil {
+			return c4.timer
+		}
 		timer = NewTimer()
 	}
 	c4.timer = timer
diff --git a/seefor_test.go b/seefor_test.go
index <HASH>..<HASH> 100644
--- a/seefor_test.go
+++ b/seefor_test.go
@@ -188,6 +188,9 @@ func TestSeeforTimer(t *testing.T) {
 	})
 
 	timer := router.UseTimer(nil)
+	timer2 := router.UseTimer(nil)
+	assert.Exactly(t, timer, timer2)
+	assert.True(t, assert.ObjectsAreEqual(timer, timer2))
 
 	ts := httptest.NewServer(router)
 	defer ts.Close()
Check first if there is a timer and return it