diff --git a/main/pbx.c b/main/pbx.c
index 4004e141457f8b2eb2c3fbb183b7e3c8d8023022..2dda2003d29069b6a9ae068930cbeaf035b71203 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -8828,6 +8828,11 @@ static void context_merge(struct ast_context **extcontexts, struct ast_hashtab *
 			ast_hashtab_end_traversal(prio_iter);
 		}
 		ast_hashtab_end_traversal(exten_iter);
+	} else if (new) {
+		/* If the context existed but had no extensions, we still want to merge
+		 * the includes, switches and ignore patterns.
+		 */
+		context_merge_incls_swits_igps_other_registrars(new, context, registrar);
 	}
 
 	if (!insert_count && !new && (strcmp(context->registrar, registrar) != 0 ||
diff --git a/pbx/pbx_lua.c b/pbx/pbx_lua.c
index ece8984117264f15146bdc149b14c976be750e71..77762e226b20b23cf79e277fe48f0e17e23702b3 100644
--- a/pbx/pbx_lua.c
+++ b/pbx/pbx_lua.c
@@ -1672,7 +1672,7 @@ static int load_module(void)
 	return AST_MODULE_LOAD_SUCCESS;
 }
 
-AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "Lua PBX Switch",
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS, "Lua PBX Switch",
 		.support_level = AST_MODULE_SUPPORT_EXTENDED,
 		.load = load_module,
 		.unload = unload_module,