diff --git a/src/move.c b/src/move.c
index bf3cfed91bd57ad0391eee263ff3726c3e8457fb..7fe82b92fc8fe4b2aac0ece510f2fd5a6a5c8d2d 100644
--- a/src/move.c
+++ b/src/move.c
@@ -580,17 +580,14 @@ void do_right(void)
     if (openfile->current->data[openfile->current_x] != '\0')
 	openfile->current_x = move_mbright(openfile->current->data,
 						openfile->current_x);
-    else if (openfile->current != openfile->filebot) {
+    else if (openfile->current != openfile->filebot)
 	openfile->current_x = 0;
-	openfile->placewewant = 0;
-	if (need_horizontal_scroll(was_column, 0))
-	    update_line(openfile->current, 0);
-	do_down_void();
-	return;
-    }
 
     openfile->placewewant = xplustabs();
 
     if (need_horizontal_scroll(was_column, openfile->placewewant))
 	update_line(openfile->current, openfile->current_x);
+
+    if (openfile->current_x == 0)
+	do_down_void();
 }