diff --git a/lib/modules/Concurrent.pmod b/lib/modules/Concurrent.pmod
index c5fb0362c1fbb3698dc6b34ff2cecaffa6dac5b8..bf855169282a16f572efe257fbca0e4f87c998a0 100644
--- a/lib/modules/Concurrent.pmod
+++ b/lib/modules/Concurrent.pmod
@@ -235,6 +235,7 @@ class Future
     Thread.MutexKey key = mux->lock();
     switch (state) {
       case STATE_FULFILLED:
+	key = 0;
         call_callback(cb, result, @extra);
         break;
       case STATE_NO_FUTURE:
@@ -281,6 +282,7 @@ class Future
 	state = STATE_REJECTION_REPORTED;
 	// FALL_THROUGH
       case STATE_REJECTION_REPORTED:
+	key = 0;
         call_callback(cb, result, @extra);
         break;
       case STATE_NO_FUTURE: