diff --git a/linphone/coreapi/linphonecore.c b/linphone/coreapi/linphonecore.c
index 2ad34970ffa38e24b93f8760b835db56901a93c6..3f65082b377cb5964fbe1592138fc987a80c023c 100644
--- a/linphone/coreapi/linphonecore.c
+++ b/linphone/coreapi/linphonecore.c
@@ -2927,6 +2927,7 @@ void linphone_core_clear_call_logs(LinphoneCore *lc){
 	lc->missed_calls=0;
 	ms_list_for_each(lc->call_logs,(void (*)(void*))linphone_call_log_destroy);
 	lc->call_logs=ms_list_free(lc->call_logs);
+	call_logs_write_to_config_file(lc);
 }
 
 static void toggle_video_preview(LinphoneCore *lc, bool_t val){
diff --git a/linphone/mediastreamer2/src/winsnd3.c b/linphone/mediastreamer2/src/winsnd3.c
index 60e443ea96585add9e375dd88d8f90658503a1fa..a554a159fc3e23f1cb8b66ac30db726a4b6d3625 100755
--- a/linphone/mediastreamer2/src/winsnd3.c
+++ b/linphone/mediastreamer2/src/winsnd3.c
@@ -361,7 +361,7 @@ static void winsnd_read_preprocess(MSFilter *f){
 	{
 	    ms_error("Failed to prepare windows sound device. (waveInOpen:0x%i)", mr);
 		mr = waveInOpen (&d->indev, WAVE_MAPPER, &d->wfx,
-					(DWORD) read_callback, (DWORD)d, CALLBACK_FUNCTION);
+					(DWORD) read_callback, (DWORD)f, CALLBACK_FUNCTION);
 		if (mr != MMSYSERR_NOERROR)
 		{
 			d->indev=NULL;