diff --git a/ChangeLog b/ChangeLog
index 1abbdf37a3a618c1207dc98ae98092c647fc4e62..e784c94d1b7a4007c0e12ad5c9a8873f56af272b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,14 +2,15 @@ CVS code -
 - General:
 	- Convert more ints that hold only TRUE and FALSE values to
 	  bools. (DLR)
-	- Consolidate the code for finding a shortcut in a shortcut
-	  list, the code for finding a toogle in a toggle list, and
-	  the code for doing both of those and interpreting mouse clicks
-	  in the edit window.  Also move the code for do_mouse() to
-	  get_edit_mouse() and tweak it to properly handle cases where a
-	  shortcut isn't clicked.  New functions get_shortcut(),
-	  get_toggle(), get_edit_input(), and get_edit_mouse(); changes
-	  to do_browser(), do_justify(), do_help(), and main(). (DLR)
+	- Consolidate the code for finding and running a shortcut in a
+	  shortcut list, the code for finding and toggling a toggle in a
+	  toggle list, and the code for doing both of those and
+	  interpreting mouse clicks in the edit window.  Also move the
+	  code for do_mouse() to get_edit_mouse() and tweak it to
+	  properly handle cases where a shortcut isn't clicked.  New
+	  functions get_shortcut(), get_toggle(), get_edit_input(), and
+	  get_edit_mouse(); changes to do_browser(), do_justify(),
+	  do_help(), and main(). (DLR)
 	- Simplify a few more translated messages. (DLR)
 	- Translation updates (see po/ChangeLog for details).
 	- Remove reference to @includedir@ in src/Makefile.am, as it's
diff --git a/src/winio.c b/src/winio.c
index 758a07ef735424840fcd1b6e2a8e7e268eebb291..8f2f5f9043c4ab14e30d7b3e904289fb24152716 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -1440,8 +1440,12 @@ int get_edit_input(bool *meta_key, bool allow_funcs)
 	if (s->func != do_cut_text)
 	    cutbuffer_reset();
 	if (s->func != NULL) {
-	    if (allow_funcs)
-		s->func();
+	    if (allow_funcs) {
+		if (ISSET(VIEW_MODE) && !s->viewok)
+		    print_view_warning();
+		else
+		    s->func();
+	    }
 	    keyhandled = TRUE;
 	}
     }