diff --git a/res/res_pjsip/pjsip_options.c b/res/res_pjsip/pjsip_options.c
index a7aefaa5657ea8021ce87590b48734a2577e9373..2c305802fe63c8bb878801072f1832d4132572a8 100644
--- a/res/res_pjsip/pjsip_options.c
+++ b/res/res_pjsip/pjsip_options.c
@@ -2100,30 +2100,31 @@ static int sip_options_contact_add_task(void *obj)
 	ao2_cleanup(contact_status);
 
 	if (task_data->aor_options->qualify_frequency) {
-		/* If this is the first contact we need to schedule up qualification */
-		if (ao2_container_count(task_data->aor_options->contacts) == 1) {
-			ast_debug(3, "Starting scheduled callback on AOR '%s' for qualifying as there is now a contact on it\n",
+		/* There will always be a contact here, and we need to immediately schedule
+		 * a qualify so that contacts are not waiting for the qualify_frequency
+		 * timer duration before qualifying.
+		 */
+		ast_debug(3, "Starting scheduled callback on AOR '%s' for qualifying as there is now a contact on it\n",
+			task_data->aor_options->name);
+		/*
+		 * We immediately schedule the initial qualify so that we get
+		 * reachable/unreachable as soon as possible.  Realistically
+		 * since they pretty much just registered they should be
+		 * reachable.
+		 */
+		if (task_data->aor_options->sched_task) {
+			ast_sip_sched_task_cancel(task_data->aor_options->sched_task);
+			ao2_ref(task_data->aor_options->sched_task, -1);
+			task_data->aor_options->sched_task = NULL;
+		}
+		task_data->aor_options->sched_task = ast_sip_schedule_task(
+			task_data->aor_options->serializer, 1, sip_options_qualify_aor,
+			ast_taskprocessor_name(task_data->aor_options->serializer),
+			task_data->aor_options,
+			AST_SIP_SCHED_TASK_VARIABLE | AST_SIP_SCHED_TASK_DATA_AO2);
+		if (!task_data->aor_options->sched_task) {
+			ast_log(LOG_ERROR, "Unable to schedule qualify for contacts of AOR '%s'\n",
 				task_data->aor_options->name);
-			/*
-			 * We immediately schedule the initial qualify so that we get
-			 * reachable/unreachable as soon as possible.  Realistically
-			 * since they pretty much just registered they should be
-			 * reachable.
-			 */
-			if (task_data->aor_options->sched_task) {
-				ast_sip_sched_task_cancel(task_data->aor_options->sched_task);
-				ao2_ref(task_data->aor_options->sched_task, -1);
-				task_data->aor_options->sched_task = NULL;
-			}
-			task_data->aor_options->sched_task = ast_sip_schedule_task(
-				task_data->aor_options->serializer, 1, sip_options_qualify_aor,
-				ast_taskprocessor_name(task_data->aor_options->serializer),
-				task_data->aor_options,
-				AST_SIP_SCHED_TASK_VARIABLE | AST_SIP_SCHED_TASK_DATA_AO2);
-			if (!task_data->aor_options->sched_task) {
-				ast_log(LOG_ERROR, "Unable to schedule qualify for contacts of AOR '%s'\n",
-					task_data->aor_options->name);
-			}
 		}
 	} else {
 		/*