diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim
index 72b21d5..fd64c98 100644
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -48,14 +48,16 @@
 " Support function: get the alloc ID by name.
 function GetAllocId(name)
   exe 'split ' . s:srcdir . '/alloc.h'
-  /typedef enum/
-  let top = getline('.')
+  let top = search('typedef enum')
+  if top == 0
+    call add(v:errors, 'typedef not found in alloc.h')
+  endif
   let lnum = search('aid_' . a:name . ',')
   if lnum == 0
     call add(v:errors, 'Alloc ID ' . a:name . ' not defined')
   endif
   close
-  return lnum - top
+  return lnum - top - 1
 endfunc
 
 
diff --git a/src/testdir/test_unlet.vim b/src/testdir/test_unlet.vim
index 13ec66b..4c58785 100644
--- a/src/testdir/test_unlet.vim
+++ b/src/testdir/test_unlet.vim
@@ -1,18 +1,9 @@
 " Tests for :unlet
 
 func Test_read_only()
-  try
-    " this caused a crash
-    unlet count
-  catch
-    call assert_true(v:exception =~ ':E795:')
-  endtry
-  try
-    " this caused a crash
-    unlet errmsg
-  catch
-    call assert_true(v:exception =~ ':E795:')
-  endtry
+  " these caused a crash
+  call assert_fails('unlet count', 'E795:')
+  call assert_fails('unlet errmsg', 'E795:')
 endfunc
 
 func Test_existing()
@@ -24,9 +15,5 @@
 
 func Test_not_existing()
   unlet! does_not_exist
-  try
-    unlet does_not_exist
-  catch
-    call assert_true(v:exception =~ ':E108:')
-  endtry
+  call assert_fails('unlet does_not_exist', 'E108:')
 endfunc
diff --git a/src/version.c b/src/version.c
index b842116..a3d0146 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1097,
+/**/
     1096,
 /**/
     1095,
