diff --git a/ChangeLog b/ChangeLog
index fb0eab9..8b67a2f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -149,8 +149,10 @@
 	  parse_rcfile(), nano.1, nano.texi, and nanorc.sample.in.
 	  (Benno Schulenberg, minor tweaks by DLR and Nick Warne)
 	- Make suspension clear the screen and put the cursor on the
-	  last line before displaying anything, as Pico does.  Changes
-	  to do_suspend(), do_continue(), and terminal_init(). (DLR)
+	  last line before displaying anything, as Pico does.  New
+	  functions disable_mouse_support() and enable_mouse_support();
+	  changes to do_mouse(), do_suspend(), do_continue(), and
+	  terminal_init(). (DLR)
 - browser.c:
   do_browser()
 	- Reference NANO_GOTODIR_(ALT|F)?KEY instead of
diff --git a/src/nano.c b/src/nano.c
index c3d2d91..fbaa891 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -665,16 +665,29 @@
 }
 
 #ifndef DISABLE_MOUSE
-/* Initialize mouse support. */
+/* Disable mouse support. */
+void disable_mouse_support(void)
+{
+    mousemask(0, NULL);
+}
+
+/* Enable mouse support. */
+void enable_mouse_support(void)
+{
+    mousemask(BUTTON1_RELEASED, NULL);
+    mouseinterval(50);
+}
+
+/* Initialize mouse support.  Enable it if the USE_MOUSE flag is set,
+ * and disable it otherwise. */
 void mouse_init(void)
 {
-    if (ISSET(USE_MOUSE)) {
-	mousemask(BUTTON1_RELEASED, NULL);
-	mouseinterval(50);
-    } else
-	mousemask(0, NULL);
+    if (ISSET(USE_MOUSE))
+	enable_mouse_support();
+    else
+	disable_mouse_support();
 }
-#endif
+#endif /* !DISABLE_MOUSE */
 
 #ifdef HAVE_GETOPT_LONG
 #define print_opt(shortflag, longflag, desc) print_opt_full(shortflag, longflag, desc)
@@ -993,6 +1006,11 @@
 /* Handler for SIGTSTP (suspend). */
 RETSIGTYPE do_suspend(int signal)
 {
+#ifndef DISABLE_MOUSE
+    /* Turn mouse support off. */
+    disable_mouse_support();
+#endif
+
     /* Blank the screen, and move the cursor to the last line of it. */
     erase();
     move(LINES - 1, 0);
@@ -1018,6 +1036,12 @@
 /* Handler for SIGCONT (continue after suspend). */
 RETSIGTYPE do_continue(int signal)
 {
+#ifndef DISABLE_MOUSE
+    /* Turn mouse support back on if it was on before. */
+    if (ISSET(USE_MOUSE))
+	enable_mouse_support();
+#endif
+
 #ifndef NANO_TINY
     /* Perhaps the user resized the window while we slept.  Handle it,
      * and restore the terminal to its previous state and update the
@@ -2107,6 +2131,7 @@
     shortcut_init(FALSE);
 
 #ifndef DISABLE_MOUSE
+    /* Initialize mouse support. */
     mouse_init();
 #endif
 
diff --git a/src/proto.h b/src/proto.h
index ed4ccab..1bc0f14 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -429,6 +429,8 @@
 void die_save_file(const char *die_filename);
 void window_init(void);
 #ifndef DISABLE_MOUSE
+void disable_mouse_support(void);
+void enable_mouse_support(void);
 void mouse_init(void);
 #endif
 void print_opt_full(const char *shortflag
