diff --git a/main/config_options.c b/main/config_options.c
index a1ba5d2e56594dc7af3a1a00f164dda7124fcd6e..4ab7a5b9a3f383ac2426af4bdc8740d7814ebc9d 100644
--- a/main/config_options.c
+++ b/main/config_options.c
@@ -837,6 +837,10 @@ int aco_set_defaults(struct aco_type *type, const char *category, void *obj)
 	struct aco_option *opt;
 	struct ao2_iterator iter;
 
+	if (!type->internal) {
+		return -1;
+	}
+
 	iter = ao2_iterator_init(type->internal->opts, 0);
 
 	while ((opt = ao2_iterator_next(&iter))) {