diff --git a/ChangeLog b/ChangeLog
index 1de943ce93a48e93a213d267840dafec47d59593..5d93b652c7b824aa4d0d47bb2f1c7b2acd1b3e72 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,6 +12,8 @@
 	* src/prompt.c (do_statusbar_output): Don't move too many bytes.
 	This fixes Savannah bug #47219 (uncovered by r5655).
 	* src/prompt.c (do_statusbar_output): Elide a variable.
+	* src/prompt.c (do_statusbar_delete): There is no need for nulling:
+	the charmove() already copies the terminating null byte.
 
 2016-02-21  Benno Schulenberg  <bensberg@justemail.net>
 	* src/files.c (input_tab): If the first Tab added the part that all
diff --git a/src/prompt.c b/src/prompt.c
index 957c9db8b8bb9b578dc58141d96852224858f94e..8aa6c5342896125625ea9dc8606a1efdf5702117 100644
--- a/src/prompt.c
+++ b/src/prompt.c
@@ -349,14 +349,12 @@ void do_statusbar_delete(void)
 
     if (answer[statusbar_x] != '\0') {
 	int char_buf_len = parse_mbchar(answer + statusbar_x, NULL, NULL);
-	size_t line_len = strlen(answer + statusbar_x);
 
 	assert(statusbar_x < strlen(answer));
 
 	charmove(answer + statusbar_x, answer + statusbar_x + char_buf_len,
 			strlen(answer) - statusbar_x - char_buf_len + 1);
-
-	null_at(&answer, statusbar_x + line_len - char_buf_len);
+	align(&answer);
 
 	update_the_statusbar();
     }