diff --git a/ChangeLog b/ChangeLog
index 373fa3f8841ed6697e3c32e9dab3186c23ae79a4..65c037a024b447c4c2fd29b9aa5ce4356e441d4e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -39,8 +39,8 @@ CVS code -
 	  do_help() (all moved to help.c). (DLR)
 	- Tweak a few functions to remove the assumption that the file
 	  always ends in a magicline.  Changes to do_cut_till_end(),
-	  open_buffer(), read_file(), write_file(), do_last_line(), and
-	  do_wordlinechar_count(). (DLR)
+	  open_buffer(), read_file(), write_file(), do_last_line(),
+	  do_alt_speller(), and do_wordlinechar_count(). (DLR)
 	- Tweak a few functions to rely on fileage and filebot instead
 	  of NULL for their checks to detect the top or bottom of the
 	  file.  Changes to cut_line(), cut_to_eol(), do_page_up(),
diff --git a/src/text.c b/src/text.c
index 642ce1e1bd9c57ab5cdcba7612881e7135ea102a..3063ab03d3c9122ab44933945b0300333a80628d 100644
--- a/src/text.c
+++ b/src/text.c
@@ -1953,10 +1953,12 @@ const char *do_alt_speller(char *tempfile_name)
     initialize_buffer_text();
 
     /* Reload the temp file.  Open it, read it into the current buffer,
-     * and move back to the first line of the buffer. */
+     * and move back to the beginning of the first line of the
+     * buffer. */
     open_file(tempfile_name, FALSE, &f);
     read_file(f, tempfile_name);
     openfile->current = openfile->fileage;
+    openfile->current_x = 0;
 
 #ifndef NANO_SMALL
     if (old_mark_set) {