diff --git a/src/profiler.c b/src/profiler.c
index 6f2f2d0..3638a0b 100644
--- a/src/profiler.c
+++ b/src/profiler.c
@@ -555,6 +555,24 @@
 }
 
 /*
+ * Save time when starting to invoke another script or function.
+ */
+    static void
+script_prof_save(
+    proftime_T	*tm)	    // place to store wait time
+{
+    scriptitem_T    *si;
+
+    if (SCRIPT_ID_VALID(current_sctx.sc_sid))
+    {
+	si = SCRIPT_ITEM(current_sctx.sc_sid);
+	if (si->sn_prof_on && si->sn_pr_nest++ == 0)
+	    profile_start(&si->sn_pr_child);
+    }
+    profile_get_wait(tm);
+}
+
+/*
  * When calling a function: may initialize for profiling.
  */
     void
@@ -793,24 +811,6 @@
 }
 
 /*
- * Save time when starting to invoke another script or function.
- */
-    void
-script_prof_save(
-    proftime_T	*tm)	    // place to store wait time
-{
-    scriptitem_T    *si;
-
-    if (SCRIPT_ID_VALID(current_sctx.sc_sid))
-    {
-	si = SCRIPT_ITEM(current_sctx.sc_sid);
-	if (si->sn_prof_on && si->sn_pr_nest++ == 0)
-	    profile_start(&si->sn_pr_child);
-    }
-    profile_get_wait(tm);
-}
-
-/*
  * Count time spent in children after invoking another script or function.
  */
     void
