diff --git a/main/loader.c b/main/loader.c
index b46f745af8fdcec7ca6a211b9324e1da441ec944..033693e8b09bc031075ed9eecf638f388e13a176 100644
--- a/main/loader.c
+++ b/main/loader.c
@@ -1087,7 +1087,7 @@ static struct ast_module *load_dlopen(const char *resource_in, const char *so_ex
 	if (resource_being_loaded) {
 		struct ast_str *list;
 		int c = 0;
-		const char *dlerror_msg = ast_strdupa(dlerror());
+		const char *dlerror_msg = ast_strdupa(S_OR(dlerror(), ""));
 
 		resource_being_loaded = NULL;
 		if (mod->lib) {