diff --git a/lib/houston/conversations.rb b/lib/houston/conversations.rb
index <HASH>..<HASH> 100644
--- a/lib/houston/conversations.rb
+++ b/lib/houston/conversations.rb
@@ -25,8 +25,12 @@ module Houston
 
       listeners.hear(message).each do |match|
         event = Houston::Conversations::Event.new(match)
-        yield event if block_given?
-        match.listener.call_async event
+
+        if block_given?
+          yield event, match.listener
+        else
+          match.listener.call_async event
+        end
 
         # Invoke only one listener per message
         return true
[refactor] Yielded listener as well to Houston::Conversations.hear and allowed client code to invoke it (4m)