diff --git a/src/version.c b/src/version.c
index 6d99990..568756b8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2389,
+/**/
     2388,
 /**/
     2387,
diff --git a/src/vim9.h b/src/vim9.h
index c51be8e..e6c4087 100644
--- a/src/vim9.h
+++ b/src/vim9.h
@@ -224,7 +224,7 @@
 // arguments to ISN_CHECKTYPE
 typedef struct {
     type_T	*ct_type;
-    char	ct_off;		// offset in stack, -1 is bottom
+    char	ct_off;		// offset in stack (positive), 1 is bottom
     char	ct_arg_idx;	// argument index or zero
 } checktype_T;
 
diff --git a/src/vim9compile.c b/src/vim9compile.c
index ead971f..2fad4ac 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -826,7 +826,9 @@
     if ((isn = generate_instr(cctx, ISN_CHECKTYPE)) == NULL)
 	return FAIL;
     isn->isn_arg.type.ct_type = alloc_type(expected);
-    isn->isn_arg.type.ct_off = offset;
+    // Use the negated offset so that it's always positive.  Some systems don't
+    // support negative numbers for "char".
+    isn->isn_arg.type.ct_off = (char)-offset;
     isn->isn_arg.type.ct_arg_idx = argidx;
 
     // type becomes expected
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 7d1d079..b5f4be3 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -3240,7 +3240,7 @@
 		{
 		    checktype_T *ct = &iptr->isn_arg.type;
 
-		    tv = STACK_TV_BOT(ct->ct_off);
+		    tv = STACK_TV_BOT(-(int)ct->ct_off);
 		    SOURCING_LNUM = iptr->isn_lnum;
 		    if (check_typval_type(ct->ct_type, tv, ct->ct_arg_idx)
 								       == FAIL)
@@ -4242,11 +4242,11 @@
 		      if (ct->ct_arg_idx == 0)
 			  smsg("%4d CHECKTYPE %s stack[%d]", current,
 					  type_name(ct->ct_type, &tofree),
-					  (int)ct->ct_off);
+					  -(int)ct->ct_off);
 		      else
 			  smsg("%4d CHECKTYPE %s stack[%d] arg %d", current,
 					  type_name(ct->ct_type, &tofree),
-					  (int)ct->ct_off,
+					  -(int)ct->ct_off,
 					  (int)ct->ct_arg_idx);
 		      vim_free(tofree);
 		      break;
