diff --git a/ChangeLog b/ChangeLog
index a12d815d2fbc6e68b077863b2a9f89b412ab0202..464edf55ccba7f0c7cd46ded9d5710bda806f664 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,8 @@
 CVS code 
 - General:
 	- Translation updates (see po/ChangeLog for details).
+	- Fix globals and externs such that nano will compile with
+	  DISABLE_SPELLER (David Benbennick).
 - nano.c:
   main()
 	- Fix nano not compiling with ENABLE_RCFILE and DISABLE_TABCOMP
diff --git a/global.c b/global.c
index 66ef3a7c03987c5087c11432c8f378dca04a38b7..fc0f0cc03eb02e7a1070b1368da2d8853a67a5d1 100644
--- a/global.c
+++ b/global.c
@@ -105,7 +105,6 @@ shortcut *whereis_list = NULL;
 shortcut *replace_list = NULL;
 shortcut *replace_list_2 = NULL; 	/* 2nd half of replace dialog */
 shortcut *goto_list = NULL;
-shortcut *gotodir_list = NULL;
 shortcut *writefile_list = NULL;
 shortcut *insertfile_list = NULL;
 #ifndef DISABLE_HELP
@@ -119,7 +118,9 @@ shortcut *extcmd_list = NULL;
 #endif
 #ifndef DISABLE_BROWSER
 shortcut *browser_list = NULL;
+shortcut *gotodir_list = NULL;
 #endif
+
 #ifdef ENABLE_COLOR
 const colortype *colorstrings = NULL;
 syntaxtype *syntaxes = NULL;
diff --git a/nano.c b/nano.c
index 4ac10f345e11d0cb66e3f8aa4ab63e9430902083..e80ee1d5101107542e556ac7ecc3be61b4d06110 100644
--- a/nano.c
+++ b/nano.c
@@ -341,6 +341,7 @@ void help_init(void)
 		"complete the directory name.\n\n The following function "
 		"keys are available in Browser Go To Directory mode:\n\n");
 #endif
+#ifndef DISABLE_SPELLER
     else if (currshortcut == spell_list)
 	ptr = _("Spell Check Help Text\n\n "
 		"The spell checker checks the spelling of all text "
@@ -350,6 +351,7 @@ void help_init(void)
 		"instance of the given misspelled word in the "
 		"current file.\n\n The following other functions are "
 		"available in Spell Check mode:\n\n");
+#endif
 #ifndef NANO_SMALL
     else if (currshortcut == extcmd_list)
 	ptr = _("External Command Help Text\n\n "
diff --git a/proto.h b/proto.h
index e572a855bb5a734f95d68d2b99e66fac4af4cd23..305ecc96657abe4a35e218e5d410963688588f87 100644
--- a/proto.h
+++ b/proto.h
@@ -86,15 +86,23 @@ extern shortcut *shortcut_list;
 extern shortcut *main_list, *whereis_list;
 extern shortcut *replace_list, *goto_list;
 extern shortcut *writefile_list, *insertfile_list;
-extern shortcut *spell_list, *replace_list_2;
+extern shortcut *replace_list_2;
 #ifndef NANO_SMALL
 extern shortcut *extcmd_list;
 #endif
+#ifndef DISABLE_HELP
 extern shortcut *help_list;
+#endif
+#ifndef DISABLE_SPELLER
+extern shortcut *spell_list;
+#endif
 #ifndef DISABLE_BROWSER
 extern shortcut *browser_list, *gotodir_list;
 #endif
+
+#if !defined(DISABLE_BROWSER) || !defined(DISABLE_HELP) || (!defined(DISABLE_MOUSE) && defined(NCURSES_MOUSE_VERSION))
 extern const shortcut *currshortcut;
+#endif
 
 #ifdef HAVE_REGEX_H
 extern int use_regexp, regexp_compiled;