diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim
index 76fd3fa..b1ba675 100644
--- a/src/testdir/test_vim9_disassemble.vim
+++ b/src/testdir/test_vim9_disassemble.vim
@@ -2328,27 +2328,43 @@
   elseif false
     echo "false"
   endif
+  if 0
+    echo "yes"
+  elseif 0
+    echo "no"
+  endif
 enddef
 
 def Test_debug_elseif_constant()
-  var res = execute('disass s:ElseifConstant')
+  var res = execute('disass debug s:ElseifConstant')
   assert_match('<SNR>\d*_ElseifConstant\_s*' ..
           'if g:value\_s*' ..
-          '0 LOADG g:value\_s*' ..
-          '1 COND2BOOL\_s*' ..
-          '2 JUMP_IF_FALSE -> 6\_s*' ..
+          '0 DEBUG line 1-1 varcount 0\_s*' ..
+          '1 LOADG g:value\_s*' ..
+          '2 COND2BOOL\_s*' ..
+          '3 JUMP_IF_FALSE -> 8\_s*' ..
           'echo "one"\_s*' ..
-          '3 PUSHS "one"\_s*' ..
-          '4 ECHO 1\_s*' ..
+          '4 DEBUG line 2-2 varcount 0\_s*' ..
+          '5 PUSHS "one"\_s*' ..
+          '6 ECHO 1\_s*' ..
           'elseif true\_s*' ..
-          '5 JUMP -> 8\_s*' ..
+          '7 JUMP -> 12\_s*' ..
+          '8 DEBUG line 3-3 varcount 0\_s*' ..
           'echo "true"\_s*' ..
-          '6 PUSHS "true"\_s*' ..
-          '7 ECHO 1\_s*' ..
+          '9 DEBUG line 4-4 varcount 0\_s*' ..
+          '10 PUSHS "true"\_s*' ..
+          '11 ECHO 1\_s*' ..
           'elseif false\_s*' ..
           'echo "false"\_s*' ..
           'endif\_s*' ..
-          '\d RETURN void*',
+          'if 0\_s*' ..
+          '12 DEBUG line 8-8 varcount 0\_s*' ..
+          'echo "yes"\_s*' ..
+          'elseif 0\_s*' ..
+          '13 DEBUG line 11-10 varcount 0\_s*' ..
+          'echo "no"\_s*' ..
+          'endif\_s*' ..
+          '14 RETURN void*',
         res)
 enddef
 
diff --git a/src/version.c b/src/version.c
index aa699a2..782267f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -750,6 +750,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3868,
+/**/
     3867,
 /**/
     3866,
diff --git a/src/vim9type.c b/src/vim9type.c
index f8b1272..438c511 100644
--- a/src/vim9type.c
+++ b/src/vim9type.c
@@ -567,7 +567,9 @@
     {
 	// tt_type should match, except that a "partial" can be assigned to a
 	// variable with type "func".
+	// And "unknown" (using global variable) needs a runtime type check.
 	if (!(expected->tt_type == actual->tt_type
+		    || actual->tt_type == VAR_UNKNOWN
 		    || (expected->tt_type == VAR_FUNC
 					   && actual->tt_type == VAR_PARTIAL)))
 	{
@@ -582,7 +584,7 @@
 	if (expected->tt_type == VAR_DICT || expected->tt_type == VAR_LIST)
 	{
 	    // "unknown" is used for an empty list or dict
-	    if (actual->tt_member != &t_unknown)
+	    if (actual->tt_member != NULL && actual->tt_member != &t_unknown)
 		ret = check_type(expected->tt_member, actual->tt_member,
 								 FALSE, where);
 	}
@@ -592,7 +594,8 @@
 	    // nothing, thus there is no point in checking.
 	    if (expected->tt_member != &t_unknown)
 	    {
-		if (actual->tt_member != &t_unknown)
+		if (actual->tt_member != NULL
+					    && actual->tt_member != &t_unknown)
 		    ret = check_type(expected->tt_member, actual->tt_member,
 								 FALSE, where);
 		else
