diff --git a/ChangeLog b/ChangeLog
index a813278e76c5e2916603271ef9e5f3366fb21e9c..0b970ff300dce3772e8aaf12ad5ce44e18d7556a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,9 @@ CVS code -
 	- Rename variable msglen to msg_len, for consistency, and make
 	  it a size_t instead of an int.  Also remove unnecessary
 	  initialization of altspell_error. (DLR)
+	- If we can't invoke the spell checker, use sprintf() instead of
+	  snprintf() to write the error string we return, as
+	  altspell_error will always be long enough to hold it. (DLR)
   allow_pending_sigwinch()
 	- Simplify by using the "?" operator instead of an if clause.
 	  (DLR)
diff --git a/src/nano.c b/src/nano.c
index b9a3ecd9fac8cf8a16f69f314e5a4beb6d2ce5ef..d068852af330c7b0a5b065164d34768459bc1862 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -2409,7 +2409,7 @@ const char *do_alt_speller(char *tempfile_name)
 #endif
 
 	altspell_error = charalloc(msg_len);
-	snprintf(altspell_error, msg_len, invoke_error, alt_speller);
+	sprintf(altspell_error, invoke_error, alt_speller);
 	return altspell_error;
     }