diff --git a/src/version.c b/src/version.c
index 568756b8..722c833 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2390,
+/**/
     2389,
 /**/
     2388,
diff --git a/src/vim9.h b/src/vim9.h
index e6c4087..8d4faa3 100644
--- a/src/vim9.h
+++ b/src/vim9.h
@@ -224,8 +224,8 @@
 // arguments to ISN_CHECKTYPE
 typedef struct {
     type_T	*ct_type;
-    char	ct_off;		// offset in stack (positive), 1 is bottom
-    char	ct_arg_idx;	// argument index or zero
+    int8_T	ct_off;		// offset in stack, -1 is bottom
+    int8_T	ct_arg_idx;	// argument index or zero
 } checktype_T;
 
 // arguments to ISN_STORENR
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 2fad4ac..ae5cb12 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -826,10 +826,8 @@
     if ((isn = generate_instr(cctx, ISN_CHECKTYPE)) == NULL)
 	return FAIL;
     isn->isn_arg.type.ct_type = alloc_type(expected);
-    // 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;
+    isn->isn_arg.type.ct_off = (int8_T)offset;
+    isn->isn_arg.type.ct_arg_idx = (int8_T)argidx;
 
     // type becomes expected
     ((type_T **)stack->ga_data)[stack->ga_len + offset] = expected;
diff --git a/src/vim9execute.c b/src/vim9execute.c
index b5f4be3..21f7bb2 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -3240,7 +3240,7 @@
 		{
 		    checktype_T *ct = &iptr->isn_arg.type;
 
-		    tv = STACK_TV_BOT(-(int)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;
