diff --git a/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c b/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c
index f774dfcd83..8e57473202 100644
--- a/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c
+++ b/libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c
@@ -1382,15 +1382,15 @@ static ftdm_status_t ftdm_sangoma_ss7_start(ftdm_span_t * span)
 		sngss7_span = ftdmchan->span->signal_data;
 		sngss7_intf = &g_ftdm_sngss7_data.cfg.isupIntf[sngss7_info->circuit->infId];
 
-		/* if this is a non-voice channel, move along */
+		/* flag the circuit as active so we can receieve events on it */
+		sngss7_set_flag(sngss7_info->circuit, SNGSS7_ACTIVE);
+
+		/* if this is a non-voice channel, move along cause we're done with it */
 		if (sngss7_info->circuit->type != VOICE) continue;
 
 		/* lock the channel */
 		ftdm_mutex_lock(ftdmchan->mutex);
 
-		/* flag the circuit as active */
-		sngss7_set_flag(sngss7_info->circuit, SNGSS7_ACTIVE);
-
 		/* check if the interface is paused or resumed */
 		if (sngss7_test_flag(sngss7_intf, SNGSS7_PAUSED)) {
 			SS7_DEBUG_CHAN(ftdmchan, "ISUP intf %d is PAUSED\n", sngss7_intf->id);