diff --git a/core/msg.c b/core/msg.c
index 373309603dba1f553f652190c1138135e490241a..707f2effd206874d02122c4007736ee0ba955203 100644
--- a/core/msg.c
+++ b/core/msg.c
@@ -133,7 +133,7 @@ int msg_reply(msg *m, msg *reply) {
     DEBUG("%s: msg_reply(): direct msg copy.\n", fk_thread->name);
     /* copy msg to target */
     msg* target_message = (msg*)target->wait_data;
-    *target_message = *m;
+    *target_message = *reply;
     sched_set_status(target,  STATUS_PENDING);
     restoreIRQ(state);
     fk_yield();