diff --git a/src/slurmd/slurmd.c b/src/slurmd/slurmd.c
index 870043f4fd302ae0d94c1a82ad1ebf5585342b7e..9b87ea779c2c7eeee2df43d11c76ed8d48169838 100644
--- a/src/slurmd/slurmd.c
+++ b/src/slurmd/slurmd.c
@@ -426,6 +426,12 @@ void slurmd_req(slurm_msg_t * msg)
 	case REQUEST_SHUTDOWN_IMMEDIATE:
 		slurmd_rpc_shutdown_slurmd(msg);
 		break;
+	case REQUEST_NODE_REGISTRATION_STATUS:
+		/* Treat as ping (for slurmctld agent) */
+		slurm_rpc_ping(msg);
+		/* Then initiate a separate node registration */
+		send_node_registration_status_msg();
+		break;
 	case REQUEST_PING:
 		slurm_rpc_ping(msg);
 		break;