diff --git a/main/loader.c b/main/loader.c
index c216a94628fae3486ec4f43f1a8cb549f01d44aa..f652d0da0d4f55a03efb97354f695780018fbe27 100644
--- a/main/loader.c
+++ b/main/loader.c
@@ -856,7 +856,7 @@ static int mod_load_cmp(void *a, void *b)
 	int res = -1;
 	/* if load_pri is not set, default is 255.  Lower is better*/
 	unsigned char a_pri = ast_test_flag(a_mod->info, AST_MODFLAG_LOAD_ORDER) ? a_mod->info->load_pri : 255;
-	unsigned char b_pri = ast_test_flag(a_mod->info, AST_MODFLAG_LOAD_ORDER) ? b_mod->info->load_pri : 255;
+	unsigned char b_pri = ast_test_flag(b_mod->info, AST_MODFLAG_LOAD_ORDER) ? b_mod->info->load_pri : 255;
 	if (a_pri == b_pri) {
 		res = 0;
 	} else if (a_pri < b_pri) {