diff --git a/event/feed.go b/event/feed.go
index 02f3ca68759fe9475664ae946c43562df9f6033c..33dafe58867e726b11654c51c65673ddaaacb128 100644
--- a/event/feed.go
+++ b/event/feed.go
@@ -138,6 +138,7 @@ func (f *Feed) Send(value interface{}) (nsent int) {
 
 	if !f.typecheck(rvalue.Type()) {
 		f.sendLock <- struct{}{}
+		f.mu.Unlock()
 		panic(feedTypeError{op: "Send", got: rvalue.Type(), want: f.etype})
 	}
 	f.mu.Unlock()