patch 8.1.0555: crash when last search pat is set but not last substitute pat

Problem:    Crash when last search pat is set but not last substitute pat.
Solution:   Do not mix up last search pattern and last subtitute pattern.
            (closes #3647)
diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim
index b05ed42..eadb128 100644
--- a/src/testdir/test_search.vim
+++ b/src/testdir/test_search.vim
@@ -1142,3 +1142,15 @@
   /\%'(
   /
 endfunc
+
+" Test that there is no crash when there is a last search pattern but no last
+" substitute pattern.
+func Test_no_last_substitute_pat()
+  " Use viminfo to set the last search pattern to a string and make the last
+  " substitute pattern the most recent used and make it empty (NULL).
+  call writefile(['~MSle0/bar', '~MSle0~&'], 'Xviminfo')
+  rviminfo! Xviminfo
+  call assert_fails('normal n', 'E35:')
+
+  call delete('Xviminfo')
+endfunc