diff --git a/basis/concurrency/messaging/messaging.factor b/basis/concurrency/messaging/messaging.factor
index 7173e8f408..12b5d270d4 100755
--- a/basis/concurrency/messaging/messaging.factor
+++ b/basis/concurrency/messaging/messaging.factor
@@ -11,7 +11,7 @@ GENERIC: send ( message thread -- )
 
 : mailbox-of ( thread -- mailbox )
     dup mailbox>> [ ] [
-        <mailbox> swap >>mailbox
+        <mailbox> [ >>mailbox drop ] keep
     ] ?if ;
 
 M: thread send ( message thread -- )