updated for version 7.0017
diff --git a/src/screen.c b/src/screen.c
index 628be9a..6c1d6cc 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -6651,9 +6651,14 @@
len = screen_Columns;
else
len = Columns;
- mch_memmove(new_ScreenLines + new_LineOffset[new_row],
- ScreenLines + LineOffset[old_row],
- (size_t)len * sizeof(schar_T));
+#ifdef FEAT_MBYTE
+ /* When switching to utf-8 dont copy characters, they
+ * may be invalid now. */
+ if (!(enc_utf8 && ScreenLinesUC == NULL))
+#endif
+ mch_memmove(new_ScreenLines + new_LineOffset[new_row],
+ ScreenLines + LineOffset[old_row],
+ (size_t)len * sizeof(schar_T));
#ifdef FEAT_MBYTE
if (enc_utf8 && ScreenLinesUC != NULL)
{