diff --git a/src/evalvars.c b/src/evalvars.c
index d182a0e..8e862df 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -2735,7 +2735,7 @@
 	char_u	    *p = STRNCMP(name, "s:", 2) == 0 ? name + 2 : name;
 
 	if (sid == 0)
-	    import = find_imported(p, 0, TRUE, NULL);
+	    import = find_imported(p, 0, TRUE);
 
 	// imported variable from another script
 	if (import != NULL || sid != 0)
@@ -3096,7 +3096,7 @@
     res = HASHITEM_EMPTY(hi) ? FAIL : OK;
 
     // if not script-local, then perhaps imported
-    if (res == FAIL && find_imported(p, 0, FALSE, NULL) != NULL)
+    if (res == FAIL && find_imported(p, 0, FALSE) != NULL)
 	res = OK;
     if (p != buffer)
 	vim_free(p);
@@ -3491,7 +3491,7 @@
 
     if (di == NULL && var_in_vim9script)
     {
-	imported_T  *import = find_imported(varname, 0, FALSE, NULL);
+	imported_T  *import = find_imported(varname, 0, FALSE);
 
 	if (import != NULL)
 	{
@@ -4696,7 +4696,7 @@
     p = vim_strchr(name, '.');
     if (p == NULL)
 	return;
-    import = find_imported(name, p - name, FALSE, NULL);
+    import = find_imported(name, p - name, FALSE);
     if (import != NULL && SCRIPT_ID_VALID(import->imp_sid))
     {
 	scriptitem_T *si = SCRIPT_ITEM(import->imp_sid);
