diff --git a/src/structs.h b/src/structs.h
index e3f6a73..73cacef 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1517,22 +1517,6 @@
 				// "func"
 };
 
-// Struct passed between functions dealing with function call execution.
-//
-// "argv_func", when not NULL, can be used to fill in arguments only when the
-// invoked function uses them.  It is called like this:
-//   new_argcount = argv_func(current_argcount, argv, called_func_argcount)
-//
-typedef struct {
-    int		(* argv_func)(int, typval_T *, int);
-    linenr_T	firstline;	// first line of range
-    linenr_T	lastline;	// last line of range
-    int		*doesrange;	// if not NULL: return: function handled range
-    int		evaluate;	// actually evaluate expressions
-    partial_T	*partial;	// for extra arguments
-    dict_T	*selfdict;	// Dictionary for "self"
-} funcexe_T;
-
 /*
  * Struct used by trans_function_name()
  */
@@ -1621,6 +1605,22 @@
 } scriptitem_T;
 #endif
 
+// Struct passed between functions dealing with function call execution.
+//
+// "argv_func", when not NULL, can be used to fill in arguments only when the
+// invoked function uses them.  It is called like this:
+//   new_argcount = argv_func(current_argcount, argv, called_func_argcount)
+//
+typedef struct {
+    int		(* argv_func)(int, typval_T *, int);
+    linenr_T	firstline;	// first line of range
+    linenr_T	lastline;	// last line of range
+    int		*doesrange;	// if not NULL: return: function handled range
+    int		evaluate;	// actually evaluate expressions
+    partial_T	*partial;	// for extra arguments
+    dict_T	*selfdict;	// Dictionary for "self"
+} funcexe_T;
+
 struct partial_S
 {
     int		pt_refcount;	// reference count
