diff --git a/lib/private/command/queuebus.php b/lib/private/command/queuebus.php
index 953479086ca942481aa19c5ec8f5e16f4a03ba4a..e5604eb1fef2148cea977b9c12b18bf40cf1a97f 100644
--- a/lib/private/command/queuebus.php
+++ b/lib/private/command/queuebus.php
@@ -39,7 +39,10 @@ class QueueBus implements IBus {
 	 */
 	private function runCommand($command) {
 		if ($command instanceof ICommand) {
-			$command->handle();
+			// ensure the command can be serialized
+			$serialized = serialize($command);
+			$unserialized = unserialize($serialized);
+			$unserialized->handle();
 		} else {
 			$command();
 		}