diff --git a/res/res_pjsip_pubsub.c b/res/res_pjsip_pubsub.c
index c9e8834c622ca963142b9f94c7d0acb0a2726652..f9b64f85fe67d29f57799d50844fd093ab493da1 100644
--- a/res/res_pjsip_pubsub.c
+++ b/res/res_pjsip_pubsub.c
@@ -3527,6 +3527,31 @@ static void test_resource_tree_destroy(struct resource_tree *tree)
 	ast_free(tree);
 }
 
+static int ineligible_configuration(void)
+{
+	struct ast_config *config;
+	struct ast_flags flags = {0,};
+	const char *value;
+
+	config = ast_config_load("sorcery.conf", flags);
+	if (!config) {
+		return 1;
+	}
+
+	value = ast_variable_retrieve(config, "res_pjsip_pubsub", "resource_list");
+	if (ast_strlen_zero(value)) {
+		ast_config_destroy(config);
+		return 1;
+	}
+
+	if (strcasecmp(value, "memory") && strcasecmp(value, "astdb")) {
+		ast_config_destroy(config);
+		return 1;
+	}
+
+	return 0;
+}
+
 AST_TEST_DEFINE(resource_tree)
 {
 	RAII_VAR(struct resource_list *, list, NULL, cleanup_resource_list);
@@ -3550,6 +3575,12 @@ AST_TEST_DEFINE(resource_tree)
 		break;
 	}
 
+	if (ineligible_configuration()) {
+		ast_test_status_update(test, "Ineligible configuration for this test. Please add a "
+				"'res_pjsip_pubsub' section to sorcery.conf, and set 'resource_list=memory'\n");
+		return AST_TEST_NOT_RUN;
+	}
+
 	list = create_resource_list(test, "foo", "test", resources, ARRAY_LEN(resources));
 	if (!list) {
 		return AST_TEST_FAIL;
@@ -3609,6 +3640,12 @@ AST_TEST_DEFINE(complex_resource_tree)
 		break;
 	}
 
+	if (ineligible_configuration()) {
+		ast_test_status_update(test, "Ineligible configuration for this test. Please add a "
+				"'res_pjsip_pubsub' section to sorcery.conf, and set 'resource_list=memory'\n");
+		return AST_TEST_NOT_RUN;
+	}
+
 	list_1 = create_resource_list(test, "foo", "test", resources_1, ARRAY_LEN(resources_1));
 	if (!list_1) {
 		return AST_TEST_FAIL;
@@ -3669,6 +3706,12 @@ AST_TEST_DEFINE(bad_resource)
 		break;
 	}
 
+	if (ineligible_configuration()) {
+		ast_test_status_update(test, "Ineligible configuration for this test. Please add a "
+				"'res_pjsip_pubsub' section to sorcery.conf, and set 'resource_list=memory'\n");
+		return AST_TEST_NOT_RUN;
+	}
+
 	list = create_resource_list(test, "foo", "test", resources, ARRAY_LEN(resources));
 	if (!list) {
 		return AST_TEST_FAIL;
@@ -3728,6 +3771,12 @@ AST_TEST_DEFINE(bad_branch)
 		break;
 	}
 
+	if (ineligible_configuration()) {
+		ast_test_status_update(test, "Ineligible configuration for this test. Please add a "
+				"'res_pjsip_pubsub' section to sorcery.conf, and set 'resource_list=memory'\n");
+		return AST_TEST_NOT_RUN;
+	}
+
 	list_1 = create_resource_list(test, "foo", "test", resources_1, ARRAY_LEN(resources_1));
 	if (!list_1) {
 		return AST_TEST_FAIL;
@@ -3794,6 +3843,12 @@ AST_TEST_DEFINE(duplicate_resource)
 		break;
 	}
 
+	if (ineligible_configuration()) {
+		ast_test_status_update(test, "Ineligible configuration for this test. Please add a "
+				"'res_pjsip_pubsub' section to sorcery.conf, and set 'resource_list=memory'\n");
+		return AST_TEST_NOT_RUN;
+	}
+
 	list_1 = create_resource_list(test, "foo", "test", resources_1, ARRAY_LEN(resources_1));
 	if (!list_1) {
 		return AST_TEST_FAIL;
@@ -3861,6 +3916,12 @@ AST_TEST_DEFINE(loop)
 		break;
 	}
 
+	if (ineligible_configuration()) {
+		ast_test_status_update(test, "Ineligible configuration for this test. Please add a "
+				"'res_pjsip_pubsub' section to sorcery.conf, and set 'resource_list=memory'\n");
+		return AST_TEST_NOT_RUN;
+	}
+
 	list_1 = create_resource_list(test, "herp", "test", resources_1, ARRAY_LEN(resources_1));
 	if (!list_1) {
 		return AST_TEST_FAIL;
@@ -3903,6 +3964,12 @@ AST_TEST_DEFINE(bad_event)
 		break;
 	}
 
+	if (ineligible_configuration()) {
+		ast_test_status_update(test, "Ineligible configuration for this test. Please add a "
+				"'res_pjsip_pubsub' section to sorcery.conf, and set 'resource_list=memory'\n");
+		return AST_TEST_NOT_RUN;
+	}
+
 	list = create_resource_list(test, "foo", "tsetse", resources, ARRAY_LEN(resources));
 	if (!list) {
 		return AST_TEST_FAIL;