diff --git a/res/res_phoneprov.c b/res/res_phoneprov.c
index aa082c73825f28d0d848c1a642705a93d38065fb..ef5a890febc305c4e5b5be8697ac6e46a198f642 100644
--- a/res/res_phoneprov.c
+++ b/res/res_phoneprov.c
@@ -1502,6 +1502,11 @@ int ast_phoneprov_provider_register(char *provider_name,
 		return -1;
 	}
 
+	if (!providers) {
+		ast_log(LOG_WARNING, "Provider '%s' cannot be registered: res_phoneprov not loaded.\n", provider_name);
+		return -1;
+	}
+
 	provider = find_provider(provider_name);
 	if (provider) {
 		ast_log(LOG_ERROR, "There is already a provider registered named '%s'.\n", provider_name);