diff --git a/src/move.c b/src/move.c
index 9b623c304245a8894b2e127fd988aa3a4d14cb19..d19e9b2cf46e73ac24cb3d1c50827e47afdb48c6 100644
--- a/src/move.c
+++ b/src/move.c
@@ -70,8 +70,8 @@ size_t proper_x(const char *text, size_t leftedge, size_t column)
     size_t index = actual_x(text, column);
 
 #ifndef NANO_TINY
-    if (ISSET(SOFTWRAP) && text[index] == '\t' &&
-		column < leftedge + leftedge % tabsize)
+    if (ISSET(SOFTWRAP) && text[index] == '\t' && leftedge % tabsize != 0 &&
+			column < leftedge + tabsize)
 	index++;
 #endif