diff --git a/src/common/slurm_protocol_defs.c b/src/common/slurm_protocol_defs.c
index df4b77f59b0837e49c6b11cec9820ecb7946d504..31a902404220d5b366dceb3a1c8fa780f6651df3 100644
--- a/src/common/slurm_protocol_defs.c
+++ b/src/common/slurm_protocol_defs.c
@@ -357,15 +357,29 @@ char *node_state_string(enum node_states inx)
 char *node_state_string_compact(enum node_states inx)
 {
 	static char *node_state_string[] = {
-		"DN",
-		"UN",
-		"I",
-		"AL",
-		"DD",
-		"DG",
-		"CM",
+		"DOWN",
+		"UNK",
+		"IDLE",
+		"ALLOC",
+		"DRAIN",
+		"DRAIN",
+		"COMP",
+		"END"
+	};
+	static char *node_no_resp_string[] = {
+		"DOWN*",
+		"UNK*",
+		"IDLE*",
+		"ALLOC*",
+		"DRAIN*",
+		"DRAIN*",
+		"COMP*",
 		"END"
 	};
-	inx = (uint16_t) (inx & (~NODE_STATE_NO_RESPOND));
-	return node_state_string[inx];
+	if (inx & NODE_STATE_NO_RESPOND) {
+		inx = (uint16_t) (inx & (~NODE_STATE_NO_RESPOND));
+		return node_no_resp_string[inx];
+	}
+	else
+		return node_state_string[inx];
 }