diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index f2d09fc..2a21ca0 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -1349,6 +1349,11 @@
   assert_false(exists('s:somevar'))
   unlet! s:somevar
 
+  CheckDefExecFailure([
+    'var dd = 111',
+    'unlet dd',
+    ], 'E1081:', 2)
+
   # dict unlet
   var dd = {a: 1, b: 2, c: 3}
   unlet dd['a']
@@ -1367,21 +1372,29 @@
   assert_equal([{a: 1}, {c: 3}], dl)
 
   CheckDefExecFailure([
-   'var ll = test_null_list()',
-   'unlet ll[0]',
-   ], 'E684:')
+    'var ll = test_null_list()',
+    'unlet ll[0]',
+    ], 'E684:', 2)
   CheckDefExecFailure([
-   'var ll = [1]',
-   'unlet ll[2]',
-   ], 'E684:')
+    'var ll = [1]',
+    'unlet ll[2]',
+    ], 'E684:', 2)
   CheckDefExecFailure([
-   'var dd = test_null_dict()',
-   'unlet dd["a"]',
-   ], 'E716:')
+    'var ll = [1]',
+    'unlet ll[g:astring]',
+    ], 'E39:', 2)
   CheckDefExecFailure([
-   'var dd = {a: 1}',
-   'unlet dd["b"]',
-   ], 'E716:')
+    'var dd = test_null_dict()',
+    'unlet dd["a"]',
+    ], 'E716:', 2)
+  CheckDefExecFailure([
+    'var dd = {a: 1}',
+    'unlet dd["b"]',
+    ], 'E716:', 2)
+  CheckDefExecFailure([
+    'var dd = {a: 1}',
+    'unlet dd[g:alist]',
+    ], 'E1105:', 2)
 
   # can compile unlet before variable exists
   g:someDict = {key: 'val'}
@@ -1426,6 +1439,18 @@
    'defcompile',
    ], 'E1081:')
 
+  writefile(['vim9script', 'export var svar = 1234'], 'XunletExport.vim')
+  var lines =<< trim END
+    vim9script
+    import svar from './XunletExport.vim'
+    def UnletSvar()
+      unlet svar
+    enddef
+    defcompile
+  END
+  CheckScriptFailure(lines, 'E1081:', 1)
+  delete('XunletExport.vim')
+
   $ENVVAR = 'foobar'
   assert_equal('foobar', $ENVVAR)
   unlet $ENVVAR
diff --git a/src/version.c b/src/version.c
index a2553fc..77f032d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2304,
+/**/
     2303,
 /**/
     2302,
diff --git a/src/vim9execute.c b/src/vim9execute.c
index d72c7fa..b6297d7 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -1917,6 +1917,7 @@
 			// unlet a dict item, index must be a string
 			if (tv_idx->v_type != VAR_STRING)
 			{
+			    SOURCING_LNUM = iptr->isn_lnum;
 			    semsg(_(e_expected_str_but_got_str),
 					vartype_name(VAR_STRING),
 					vartype_name(tv_idx->v_type));
@@ -1935,6 +1936,7 @@
 			    if (di == NULL)
 			    {
 				// NULL dict is equivalent to empty dict
+				SOURCING_LNUM = iptr->isn_lnum;
 				semsg(_(e_dictkey), key);
 				status = FAIL;
 			    }
@@ -1950,6 +1952,7 @@
 			// unlet a List item, index must be a number
 			if (tv_idx->v_type != VAR_NUMBER)
 			{
+			    SOURCING_LNUM = iptr->isn_lnum;
 			    semsg(_(e_expected_str_but_got_str),
 					vartype_name(VAR_NUMBER),
 					vartype_name(tv_idx->v_type));
@@ -1964,6 +1967,7 @@
 			    li = list_find(l, n);
 			    if (li == NULL)
 			    {
+				SOURCING_LNUM = iptr->isn_lnum;
 				semsg(_(e_listidx), n);
 				status = FAIL;
 			    }
@@ -3129,6 +3133,7 @@
 
 	    case ISN_2STRING:
 	    case ISN_2STRING_ANY:
+		SOURCING_LNUM = iptr->isn_lnum;
 		if (do_2string(STACK_TV_BOT(iptr->isn_arg.number),
 			iptr->isn_type == ISN_2STRING_ANY) == FAIL)
 			    goto on_error;
