diff --git a/apps/app_queue.c b/apps/app_queue.c
index a023b88ed1307590aa4a436c1fb19b2ba118efad..34c0131428a6e99fb7df73d02b14861d39c3b1ed 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -7232,12 +7232,12 @@ static void set_queue_member_pause(struct call_queue *q, struct member *mem, con
 
 	mem->paused = paused;
 	if (paused) {
-		if (!ast_strlen_zero(reason)) {
-			ast_copy_string(mem->reason_paused, reason, sizeof(mem->reason_paused));
-		}
 		time(&mem->lastpause); /* update last pause field */
+	}
+	if (paused && !ast_strlen_zero(reason)) {
+		ast_copy_string(mem->reason_paused, reason, sizeof(mem->reason_paused));
 	} else {
-		ast_copy_string(mem->reason_paused, "", sizeof(mem->reason_paused));
+		mem->reason_paused[0] = '\0';
 	}
 
 	ast_devstate_changed(mem->paused ? QUEUE_PAUSED_DEVSTATE : QUEUE_UNPAUSED_DEVSTATE,