diff --git a/src/include/switch_rtp.h b/src/include/switch_rtp.h
index 8ba8e7e9a9..c398eb95c2 100644
--- a/src/include/switch_rtp.h
+++ b/src/include/switch_rtp.h
@@ -252,7 +252,7 @@ SWITCH_DECLARE(switch_socket_t *) switch_rtp_get_rtp_socket(switch_rtp_t *rtp_se
   \param rtp_session the RTP session to set the samples per interval on
   \param samples_per_interval the new default samples per interval 
 */
-SWITCH_DECLARE(void) switch_rtp_set_default_samples_per_interval(switch_rtp_t *rtp_session, uint16_t samples_per_interval);
+SWITCH_DECLARE(void) switch_rtp_set_default_samples_per_interval(switch_rtp_t *rtp_session, uint32_t samples_per_interval);
 
 /*! 
   \brief Get the default samples per interval for a given RTP session
diff --git a/src/mod/endpoints/mod_sofia/sofia_glue.c b/src/mod/endpoints/mod_sofia/sofia_glue.c
index bdfed18191..14c6cccd26 100644
--- a/src/mod/endpoints/mod_sofia/sofia_glue.c
+++ b/src/mod/endpoints/mod_sofia/sofia_glue.c
@@ -1565,6 +1565,7 @@ switch_status_t sofia_glue_tech_set_codec(private_object_t *tech_pvt, int force)
 	}
 
 	if (switch_rtp_ready(tech_pvt->rtp_session)) {
+		switch_assert(tech_pvt->read_codec.implementation);
 		switch_rtp_set_default_samples_per_interval(tech_pvt->rtp_session, tech_pvt->read_codec.implementation->samples_per_packet);
 	}
 
diff --git a/src/switch_rtp.c b/src/switch_rtp.c
index 9f2165cd25..9a4f2fb06c 100644
--- a/src/switch_rtp.c
+++ b/src/switch_rtp.c
@@ -1112,7 +1112,7 @@ SWITCH_DECLARE(switch_socket_t *) switch_rtp_get_rtp_socket(switch_rtp_t *rtp_se
 	return rtp_session->sock_input;
 }
 
-SWITCH_DECLARE(void) switch_rtp_set_default_samples_per_interval(switch_rtp_t *rtp_session, uint16_t samples_per_interval)
+SWITCH_DECLARE(void) switch_rtp_set_default_samples_per_interval(switch_rtp_t *rtp_session, uint32_t samples_per_interval)
 {
 	rtp_session->samples_per_interval = samples_per_interval;
 }