diff --git a/scripts/config/zconf.l b/scripts/config/zconf.l
index bce3da66531e35c4ab6a7eefd11935835b9321dd..3aef45983aa1f1cc979ad2298ac7de0492cb1dfd 100644
--- a/scripts/config/zconf.l
+++ b/scripts/config/zconf.l
@@ -345,6 +345,13 @@ void zconf_nextfile(const char *name)
 	int i;
 
 	err = glob(name, GLOB_ERR | GLOB_MARK, NULL, &gl);
+
+	/* ignore wildcard patterns that return no result */
+	if (err == GLOB_NOMATCH && strchr(name, '*')) {
+		err = 0;
+		gl.gl_pathc = 0;
+	}
+
 	if (err) {
 		const char *reason = "unknown error";
 
diff --git a/scripts/config/zconf.lex.c_shipped b/scripts/config/zconf.lex.c_shipped
index aae284229cd438baef9a7597640fa582e41df845..766549fbfed1dd56f8c4b119002e9718ed2dc2fd 100644
--- a/scripts/config/zconf.lex.c_shipped
+++ b/scripts/config/zconf.lex.c_shipped
@@ -2401,6 +2401,13 @@ void zconf_nextfile(const char *name)
 	int i;
 
 	err = glob(name, GLOB_ERR | GLOB_MARK, NULL, &gl);
+
+	/* ignore wildcard patterns that return no result */
+	if (err == GLOB_NOMATCH && strchr(name, '*')) {
+		err = 0;
+		gl.gl_pathc = 0;
+	}
+
 	if (err) {
 		const char *reason = "unknown error";