diff --git a/src/profiler.c b/src/profiler.c
index 0bfce86..cd962ca 100644
--- a/src/profiler.c
+++ b/src/profiler.c
@@ -602,10 +602,10 @@
     funccall_T	*fcp = (funccall_T *)cookie;
     ufunc_T	*fp = fcp->func;
 
-    if (fp->uf_profiling && sourcing_lnum >= 1
-				      && sourcing_lnum <= fp->uf_lines.ga_len)
+    if (fp->uf_profiling && SOURCING_LNUM >= 1
+				      && SOURCING_LNUM <= fp->uf_lines.ga_len)
     {
-	fp->uf_tml_idx = sourcing_lnum - 1;
+	fp->uf_tml_idx = SOURCING_LNUM - 1;
 	// Skip continuation lines.
 	while (fp->uf_tml_idx > 0 && FUNCLINE(fp, fp->uf_tml_idx) == NULL)
 	    --fp->uf_tml_idx;
@@ -906,13 +906,13 @@
     if (current_sctx.sc_sid <= 0 || current_sctx.sc_sid > script_items.ga_len)
 	return;
     si = &SCRIPT_ITEM(current_sctx.sc_sid);
-    if (si->sn_prof_on && sourcing_lnum >= 1)
+    if (si->sn_prof_on && SOURCING_LNUM >= 1)
     {
 	// Grow the array before starting the timer, so that the time spent
 	// here isn't counted.
 	(void)ga_grow(&si->sn_prl_ga,
-				  (int)(sourcing_lnum - si->sn_prl_ga.ga_len));
-	si->sn_prl_idx = sourcing_lnum - 1;
+				  (int)(SOURCING_LNUM - si->sn_prl_ga.ga_len));
+	si->sn_prl_idx = SOURCING_LNUM - 1;
 	while (si->sn_prl_ga.ga_len <= si->sn_prl_idx
 		&& si->sn_prl_ga.ga_len < si->sn_prl_ga.ga_maxlen)
 	{
