diff --git a/src/proto.h b/src/proto.h
index b97487ce5c678ddc042f25289877d87597b8c84e..098a2c67f11ac1609dc7f8d6c6451eef12069cd5 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -665,13 +665,13 @@ void edit_scroll(scroll_dir direction, int nrows);
 #ifndef NANO_TINY
 size_t get_softwrap_breakpoint(const char *text, size_t leftedge,
 				bool *end_of_line);
-size_t actual_last_column(size_t leftedge, size_t column);
 size_t get_chunk(filestruct *line, size_t column, size_t *leftedge);
 size_t get_chunk_row(filestruct *line, size_t column);
 size_t get_chunk_leftedge(filestruct *line, size_t column);
 size_t get_last_chunk_row(filestruct *line);
 void ensure_firstcolumn_is_aligned(void);
 #endif
+size_t actual_last_column(size_t leftedge, size_t column);
 void edit_redraw(filestruct *old_current);
 void edit_refresh(void);
 void adjust_viewport(update_type location);
diff --git a/src/winio.c b/src/winio.c
index b0b7c46e75205adf013fad83a5402bac7e534493..39f6c8d6c0ac951d20e68976f7b35f659c64bda4 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -3047,34 +3047,6 @@ size_t get_softwrap_breakpoint(const char *text, size_t leftedge,
     return (editwincols > 1) ? prev_column : column - 1;
 }
 
-/* When in softwrap mode, and the given column is on or after the breakpoint of
- * a softwrapped chunk, shift it back to the last column before the breakpoint.
- * The given column is relative to the given leftedge in current.  The returned
- * column is relative to the start of the text. */
-size_t actual_last_column(size_t leftedge, size_t column)
-{
-#ifndef NANO_TINY
-    if (ISSET(SOFTWRAP)) {
-	size_t end_col;
-	bool last_chunk;
-
-	end_col = get_softwrap_breakpoint(openfile->current->data, leftedge,
-						&last_chunk) - leftedge;
-
-	/* If we're not on the last chunk, we're one column past the end of
-	 * the row.  Shifting back one column might put us in the middle of
-	  * a multi-column character, but actual_x() will fix that later. */
-	if (!last_chunk)
-	    end_col--;
-
-	if (column > end_col)
-	    column = end_col;
-    }
-#endif
-
-    return leftedge + column;
-}
-
 /* Get the row of the softwrapped chunk of the given line that column is on,
  * relative to the first row (zero-based), and return it.  If leftedge isn't
  * NULL, return the leftmost column of the chunk in it. */
@@ -3134,8 +3106,34 @@ void ensure_firstcolumn_is_aligned(void)
     /* If smooth scrolling is on, make sure the viewport doesn't center. */
     focusing = FALSE;
 }
+#endif /* !NANO_TINY */
+
+/* When in softwrap mode, and the given column is on or after the breakpoint of
+ * a softwrapped chunk, shift it back to the last column before the breakpoint.
+ * The given column is relative to the given leftedge in current.  The returned
+ * column is relative to the start of the text. */
+size_t actual_last_column(size_t leftedge, size_t column)
+{
+#ifndef NANO_TINY
+    if (ISSET(SOFTWRAP)) {
+	bool last_chunk;
+	size_t end_col = get_softwrap_breakpoint(openfile->current->data,
+					leftedge, &last_chunk) - leftedge;
+
+	/* If we're not on the last chunk, we're one column past the end of
+	 * the row.  Shifting back one column might put us in the middle of
+	  * a multi-column character, but actual_x() will fix that later. */
+	if (!last_chunk)
+	    end_col--;
+
+	if (column > end_col)
+	    column = end_col;
+    }
 #endif
 
+    return leftedge + column;
+}
+
 /* Return TRUE if current[current_x] is above the top of the screen, and FALSE
  * otherwise. */
 bool current_is_above_screen(void)