diff --git a/main/asterisk.c b/main/asterisk.c
index a600db097f4ff272865eced9f83593f78dbb2743..8a619b1eb1f90747349a2abfaaa1b0f5dfc63d54 100644
--- a/main/asterisk.c
+++ b/main/asterisk.c
@@ -4430,11 +4430,6 @@ int main(int argc, char *argv[])
 		exit(1);
 	}
 
-	if (ast_features_init()) {
-		printf("%s", term_quit());
-		exit(1);
-	}
-
 	if (ast_pickup_init()) {
 		printf("%s", term_quit());
 		exit(1);
@@ -4465,6 +4460,11 @@ int main(int argc, char *argv[])
 		exit(moduleresult == -2 ? 2 : 1);
 	}
 
+	if (ast_features_init()) {
+		printf("%s", term_quit());
+		exit(1);
+	}
+
 	if (dnsmgr_init()) {		/* Initialize the DNS manager */
 		printf("%s", term_quit());
 		exit(1);