diff --git a/monitor.c b/monitor.c
index 05233cc..c35a31e 100644
--- a/monitor.c
+++ b/monitor.c
@@ -2195,8 +2195,7 @@ static void do_closefd(Monitor *mon, const QDict *qdict, QObject **ret_data)
         return;
     }
 
-    monitor_printf(mon, "Failed to find file descriptor named %s\n",
-                   fdname);
+    qemu_error_new(QERR_FD_NOT_FOUND, fdname);
 }
 
 static void do_loadvm(Monitor *mon, const QDict *qdict)
