diff --git a/ChangeLog b/ChangeLog
index f1ce1a39f14306ea63ee5e9325f57e53768c1d54..37c8da5951bf9dedf2cef96aeea1de3f9035aebc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,9 @@
 	* configure.ac: For the sake of statically linked systems, make sure
 	the compiler also links against libz, which is used by libmagic.
 	This fixes Savannah bug #38378, reported by Alan Hourihane.
+	* src/nano.c (do_mouse, do_input): Don't bother returning zero when
+	the cursor moved, just reset the cutbuffer directly.  This avoids an
+	"Unknown Command" message on every cursor-positioning mouse click.
 
 2014-06-14  Mark Majeres  <mark@engine12.com>
 	* src/nano.h, src/text.c (undo_cut, update_undo): When undoing a
diff --git a/src/nano.c b/src/nano.c
index 84de5fe1ea0ea90ec9e3dcc0ed8ed43f63848454..50de0adc9d53d3984c03f77f311996b94939ecee 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -1584,14 +1584,12 @@ int do_input(bool *meta_key, bool *func_key, bool allow_funcs)
 #ifndef DISABLE_MOUSE
     if (*func_key && input == KEY_MOUSE) {
 	/* We received a mouse click. */
-	int result = do_mouse();
-
-	if (result == 1)
+	if (do_mouse() == 1)
 	    /* The click was on a shortcut -- read in the character
 	     * that it was converted into. */
 	    input = get_kbinput(edit, meta_key, func_key);
-	else if (result != 0)
-	    /* The click was invalid -- get out. */
+	else
+	    /* The click was invalid or has been handled -- get out. */
 	    return ERR;
     }
 #endif
@@ -1810,15 +1808,15 @@ int do_mouse(void)
 	 * the line. */
 	if (sameline && openfile->current_x == current_x_save)
 	    do_mark();
+	else
 #endif
+	    /* The cursor moved; clean the cutbuffer on the next cut. */
+	    cutbuffer_reset();
 
 	edit_redraw(current_save, pww_save);
-
-	/* The click influenced the cursor. */
-	return 0;
     }
 
-    /* The click was elsewhere, ignore it. */
+    /* No more handling is needed. */
     return 2;
 }
 #endif /* !DISABLE_MOUSE */