diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c
index ecbd18f28a5d9ed21568984bad19bfe8bee95863..e9554b0a09409e1b0782128341bd0bacac3c3368 100644
--- a/coreapi/linphonecore.c
+++ b/coreapi/linphonecore.c
@@ -3801,6 +3801,9 @@ static MSFilter *get_dtmf_gen(LinphoneCore *lc){
 	if (lc->ringstream==NULL){
 		float amp=0.1;
 		MSSndCard *ringcard=lc->sound_conf.lsd_card ?lc->sound_conf.lsd_card : lc->sound_conf.ring_sndcard;
+		if (ringcard == NULL)
+			return NULL;
+
 		lc->ringstream=ring_start(NULL,0,ringcard);
 		ms_filter_call_method(lc->ringstream->gendtmf,MS_DTMF_GEN_SET_DEFAULT_AMPLITUDE,&amp);
 		lc->dmfs_playing_start_time=time(NULL);