diff --git a/src/text.c b/src/text.c
index fbedf90da89f40343ab58e54df9ead44aaec8687..97ea9bc2e2f99ad3d509f05ef1fdf0bcdf2e828e 100644
--- a/src/text.c
+++ b/src/text.c
@@ -2534,6 +2534,7 @@ void do_full_justify(void)
 bool do_int_spell_fix(const char *word)
 {
     char *save_search, *exp_word;
+    size_t firstcolumn_save = openfile->firstcolumn;
     size_t current_x_save = openfile->current_x;
     filestruct *edittop_save = openfile->edittop;
     filestruct *current_save = openfile->current;
@@ -2655,6 +2656,7 @@ bool do_int_spell_fix(const char *word)
 
     /* Restore the viewport to where it was. */
     openfile->edittop = edittop_save;
+    openfile->firstcolumn = firstcolumn_save;
 
     /* Restore the settings of the global flags. */
     memcpy(flags, stash, sizeof(flags));