diff --git a/src/sview/node_info.c b/src/sview/node_info.c
index bed62b6bc393bf49d5b116676670f9d94310fff8..56f378972818667d976e4fa6fb5a8bec418f1313 100644
--- a/src/sview/node_info.c
+++ b/src/sview/node_info.c
@@ -818,6 +818,9 @@ extern int update_state_node(GtkDialog *dialog,
 	i = gtk_dialog_run(dialog);
 	if (i == GTK_RESPONSE_OK) {
 		if(entry) {
+			char *user_name;
+			char time_buf[64], time_str[32];
+			time_t now;
 			node_msg->reason = xstrdup(
 				gtk_entry_get_text(GTK_ENTRY(entry)));
 			if(!node_msg->reason ||
@@ -828,6 +831,18 @@ extern int update_state_node(GtkDialog *dialog,
 				g_free(lower);
 				goto end_it;
 			}
+			xstrcat(node_msg->reason, " [");
+			user_name = getlogin();
+			if (user_name)
+				xstrcat(node_msg->reason, user_name);
+			else {
+				sprintf(time_buf, "%d", getuid());
+				xstrcat(node_msg->reason, time_buf);
+			}
+			now = time(NULL);
+			slurm_make_time_str(&now, time_str, sizeof(time_str));
+			snprintf(time_buf, sizeof(time_buf), "@%s]", time_str);
+			xstrcat(node_msg->reason, time_buf);
 		}
 		if(slurm_update_node(node_msg) == SLURM_SUCCESS) {
 			lower = g_strdup_printf(