diff --git a/ChangeLog b/ChangeLog
index 0b536ee3738b35501b7d9e9041d5e96fc885b051..0b01ffe43ae132ebb5d500bacc13c61c9ddfec94 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -167,6 +167,8 @@ CVS code -
   do_help()
 	- Don't treat NANO_CANCEL_KEY as NANO_EXIT_KEY anymore, for
 	  consistency. (DLR)
+  do_yesno()
+	- Allow refreshing the screen via Ctrl-L, as Pico does. (DLR)
   total_update()
 	- Simplify to call clearok(TRUE) and wrefresh() on edit, which
 	  updates the entire screen in fewer function calls. (DLR)
diff --git a/src/winio.c b/src/winio.c
index 865c514ae3fabc8ba366e6b55af381c51e37d8d9..4875f5fa8a71c266ce674a854cd8846950fc1871 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -3647,7 +3647,10 @@ int do_yesno(bool all, const char *msg)
 
 	kbinput = get_kbinput(edit, &meta_key, &func_key);
 
-	if (kbinput == NANO_CANCEL_KEY)
+	if (kbinput == NANO_REFRESH_KEY) {
+	    total_update();
+	    continue;
+	} else if (kbinput == NANO_CANCEL_KEY)
 	    ok = -1;
 #ifndef DISABLE_MOUSE
 	else if (kbinput == KEY_MOUSE) {