diff --git a/.gitignore b/.gitignore
index <HASH>..<HASH> 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,3 +27,4 @@ _testmain.go
 *.test
 *.prof
 
+/.idea
diff --git a/mock_test.go b/mock_test.go
index <HASH>..<HASH> 100644
--- a/mock_test.go
+++ b/mock_test.go
@@ -124,3 +124,11 @@ func TestTimerResets(t *testing.T) {
 	c.AddTime(3 * time.Millisecond)
 	assertGets(t, tm.Chan(), "expected timer to get after reset when interval is up after restarted")
 }
+
+func TestTickerDeadlock(t *testing.T) { // fixes #6
+	c := NewMockClock()
+	tk := c.NewTicker(5 * time.Millisecond)
+	c.AddTime(6 * time.Millisecond)
+	time.Sleep(1 * time.Millisecond)
+	tk.Stop()
+}
diff --git a/ticker.go b/ticker.go
index <HASH>..<HASH> 100644
--- a/ticker.go
+++ b/ticker.go
@@ -27,7 +27,11 @@ func (m *mockTicker) wait() {
 		case <-m.stop:
 			return
 		case <-m.clock.After(delta):
-			m.c <- m.clock.Now()
+			select {
+			case m.c <- m.clock.Now():
+			case <-m.stop:
+				return
+			}
 		}
 	}
 }
fix(ticker): deadlock on Close()