diff --git a/src/text.c b/src/text.c
index 6257e1b8177ee791d437f56f3a8ca8ce60cf492c..7023df6cb88bee27745ec380a83b9829ddb25b39 100644
--- a/src/text.c
+++ b/src/text.c
@@ -751,7 +751,7 @@ void do_undo(void)
     case PASTE:
 	undidmsg = _("text uncut");
 	undo_paste(u);
-	f = fsfromline(u->lineno);
+	f = fsfromline(u->mark_begin_lineno);
 	break;
     case ENTER:
 	if (f->next == NULL) {