diff --git a/ChangeLog b/ChangeLog
index 4f7698b2afdfd452afd67effeaee1c4571da8f7c..b5232b0ec050c135f917e2bdbe3c5cabb8d68872 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,8 @@
 	* src/nano.c (do_input): Always accept mouse events, also when
 	just looking for Unjustify.  This fixes Savannah bug #42322.
 	* src/nano.c (do_input): Remove a superfluous switch statement.
+	* src/winio.c (get_mouseinput): Set the type of a reinserted key,
+	also when it is a function key.  This fixes Savannah bug #42092.
 
 2014-06-10  Benno Schulenberg  <bensberg@justemail.net>
 	* src/browser.c, src/files.c, src/nano.c src/prompt.c, src/winio.c:
diff --git a/src/winio.c b/src/winio.c
index 371080efff268ca2834dd99e152183afcb5c0a90..d7c7dea38bdf64d5e2c03e20d2e0bbd3a9b6935a 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -1716,7 +1716,7 @@ int get_mouseinput(int *mouse_x, int *mouse_y, bool allow_shortcuts)
 	    /* And put the corresponding key into the keyboard buffer. */
 	    if (f != NULL) {
                 const sc *s = first_sc_for(currmenu, f->scfunc);
-		unget_kbinput(s->seq, s->type == META, FALSE);
+		unget_kbinput(s->seq, s->type == META, s->type == FKEY);
 	    }
 	    return 1;
 	} else