diff --git a/src/terminal.c b/src/terminal.c
index 4e87b51..f197718 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -1094,6 +1094,26 @@
     return term->tl_status_text;
 }
 
+/*
+ * Mark references in jobs of terminals.
+ */
+    int
+set_ref_in_term(int copyID)
+{
+    int		abort = FALSE;
+    term_T	*term;
+    typval_T	tv;
+
+    for (term = first_term; term != NULL; term = term->tl_next)
+	if (term->tl_job != NULL)
+	{
+	    tv.v_type = VAR_JOB;
+	    tv.vval.v_job = term->tl_job;
+	    abort = abort || set_ref_in_item(&tv, copyID, NULL, NULL);
+	}
+    return abort;
+}
+
 # ifdef WIN3264
 
 #define WINPTY_SPAWN_FLAG_AUTO_SHUTDOWN 1ul
@@ -1399,26 +1419,6 @@
     }
 }
 
-/*
- * Mark references in jobs of terminals.
- */
-    int
-set_ref_in_term(int copyID)
-{
-    int		abort = FALSE;
-    term_T	*term;
-    typval_T	tv;
-
-    for (term = first_term; term != NULL; term = term->tl_next)
-	if (term->tl_job != NULL)
-	{
-	    tv.v_type = VAR_JOB;
-	    tv.vval.v_job = term->tl_job;
-	    abort = abort || set_ref_in_item(&tv, copyID, NULL, NULL);
-	}
-    return abort;
-}
-
 # endif
 
 #endif /* FEAT_TERMINAL */
diff --git a/src/version.c b/src/version.c
index 92c1eb4..7d06669 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    788,
+/**/
     787,
 /**/
     786,
