diff --git a/sflphone-gtk/src/configwindow.c b/sflphone-gtk/src/configwindow.c
index 09075a371327b398e6848b092db50294d02fd7ab..a8454c97903c8e4f9a6c268fa1a7b154e925aa68 100644
--- a/sflphone-gtk/src/configwindow.c
+++ b/sflphone-gtk/src/configwindow.c
@@ -985,7 +985,7 @@ create_audio_tab ()
 	outputAudioDeviceManagerStore = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT);
 	config_window_fill_output_audio_device_list();
 	outputDeviceComboBox = gtk_combo_box_new_with_model(GTK_TREE_MODEL(outputAudioDeviceManagerStore));
-	//select_active_output_audio_device();
+	select_active_output_audio_device();
   	gtk_label_set_mnemonic_widget(GTK_LABEL(titleLabel), outputDeviceComboBox);
 	g_signal_connect(G_OBJECT(outputDeviceComboBox), "changed", G_CALLBACK(select_audio_output_device), outputDeviceComboBox);
 
@@ -1006,7 +1006,7 @@ create_audio_tab ()
 	inputAudioDeviceManagerStore = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT);
 	config_window_fill_input_audio_device_list();
 	inputDeviceComboBox = gtk_combo_box_new_with_model(GTK_TREE_MODEL(inputAudioDeviceManagerStore));
-	//select_active_input_audio_device();
+	select_active_input_audio_device();
 	gtk_label_set_mnemonic_widget(GTK_LABEL(titleLabel), inputDeviceComboBox);
 	g_signal_connect(G_OBJECT(inputDeviceComboBox), "changed", G_CALLBACK(select_audio_input_device), inputDeviceComboBox);
 
diff --git a/src/audio/audiolayer.cpp b/src/audio/audiolayer.cpp
index 9e14e297c8c062a744612fa7446313be682261e0..85ed055320686addb723b71e924c760784ee220e 100644
--- a/src/audio/audiolayer.cpp
+++ b/src/audio/audiolayer.cpp
@@ -533,15 +533,10 @@ AudioLayer::getSoundCardsInfo( int flag )
 
 	if( snd_ctl_pcm_info ( handle ,pcminfo ) < 0) _debugAlsa(" Cannot get info\n");
 	else{
-	  _debugAlsa("card %i : %s [%s]- device %i : %s [%s] \n - driver %s - dir %i\n", 
+	  _debugAlsa("card %i : %s [%s]\n", 
 	      numCard, 
 	      snd_ctl_card_info_get_id(info),
-	      snd_ctl_card_info_get_name( info ),
-	      snd_pcm_info_get_device( pcminfo ), 
-	      snd_pcm_info_get_id(pcminfo),
-	      snd_pcm_info_get_name( pcminfo),
-	      snd_ctl_card_info_get_driver( info ),
-	      snd_pcm_info_get_stream( pcminfo ));
+	      snd_ctl_card_info_get_name( info ));
 	  description = snd_ctl_card_info_get_name( info );
 	  description.append(" - ");
 	  description.append(snd_pcm_info_get_name( pcminfo ));
diff --git a/src/managerimpl.cpp b/src/managerimpl.cpp
index 52a6d6433dd58b50bdbc58df03069acb6b50f829..04671e1798876d82fd101292f4758716f9d57ad7 100644
--- a/src/managerimpl.cpp
+++ b/src/managerimpl.cpp
@@ -1132,7 +1132,7 @@ ManagerImpl::retrieveActiveCodecs()
   void
 ManagerImpl::setActiveCodecList(const std::vector<std::string>& list)
 {
-  _debug("Set active codecs list");
+  _debug("Set active codecs list\n");
   _codecDescriptorMap.saveActiveCodecs(list);
   // setConfig
   std::string s = serialize(list);
@@ -1304,6 +1304,8 @@ ManagerImpl::setAudioOutputDevice(const int index)
       _audiodriver->getFrameSize(), 
       SFL_PCM_PLAYBACK,
       _audiodriver->getAudioPlugin());
+  // set config
+  setConfig( AUDIO , DRIVER_NAME_OUT , index );
 }
 
 /**
@@ -1329,6 +1331,8 @@ ManagerImpl::setAudioInputDevice(const int index)
       _audiodriver->getFrameSize(), 
       SFL_PCM_CAPTURE,
       _audiodriver->getAudioPlugin());
+  // set config
+  setConfig( AUDIO , DRIVER_NAME_IN , index );
 }
 
 /**
@@ -1339,11 +1343,11 @@ ManagerImpl::getCurrentAudioDevicesIndex()
 {
   _debug("Get current audio devices index\n");
   std::vector<std::string> v;
-  std::stringstream ss;
-  ss << _audiodriver->getIndexOut();
-  v.push_back( ss.str() );
-  ss << _audiodriver->getIndexIn();
-  v.push_back( ss.str() );
+  std::stringstream ssi , sso;
+  sso << _audiodriver->getIndexOut();
+  v.push_back( sso.str() );
+  ssi << _audiodriver->getIndexIn();
+  v.push_back( ssi.str() );
   return v;
 }