diff --git a/main/config.c b/main/config.c
index 88bfd8a5f095254386afde25f10d6f07e50ad32c..e2f0a8dc48ca9ec8c87ced7481ea6c3dd291396a 100644
--- a/main/config.c
+++ b/main/config.c
@@ -818,6 +818,12 @@ static void config_cache_attribute(const char *configfile, enum config_cache_att
 
 	switch (attrtype) {
 	case ATTRIBUTE_INCLUDE:
+		AST_LIST_TRAVERSE(&cfmtime->includes, cfinclude, list) {
+			if (!strcmp(cfinclude->include, filename)) {
+				AST_LIST_UNLOCK(&cfmtime_head);
+				return;
+			}
+		}
 		cfinclude = ast_calloc(1, sizeof(*cfinclude) + strlen(filename) + 1);
 		if (!cfinclude) {
 			AST_LIST_UNLOCK(&cfmtime_head);