diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 3a6058d..1bd3421 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -1337,8 +1337,8 @@
                     voice_stop_call(adev);
                 }
                 if (!voice_is_in_call(adev)) {
-                    ret = voice_start_call(adev, out);
                     adev->current_call_output = out;
+                    ret = voice_start_call(adev);
                 } else
                     voice_update_devices_for_all_voice_usecases(adev);
             }
diff --git a/hal/voice.c b/hal/voice.c
index fb226d6..988be56 100644
--- a/hal/voice.c
+++ b/hal/voice.c
@@ -95,7 +95,7 @@
     return ret;
 }
 
-int voice_start_usecase(struct audio_device *adev, audio_usecase_t usecase_id, struct stream_out *out)
+int voice_start_usecase(struct audio_device *adev, audio_usecase_t usecase_id)
 {
     int i, ret = 0;
     struct audio_usecase *uc_info;
@@ -109,8 +109,8 @@
     uc_info = (struct audio_usecase *)calloc(1, sizeof(struct audio_usecase));
     uc_info->id = usecase_id;
     uc_info->type = VOICE_CALL;
-    uc_info->stream.out = out;
-    uc_info->devices = out->devices;
+    uc_info->stream.out = adev->current_call_output ;
+    uc_info->devices = adev->current_call_output ->devices;
     uc_info->in_snd_device = SND_DEVICE_NONE;
     uc_info->out_snd_device = SND_DEVICE_NONE;
 
@@ -323,13 +323,13 @@
     return err;
 }
 
-int voice_start_call(struct audio_device *adev, struct stream_out *out)
+int voice_start_call(struct audio_device *adev)
 {
     int ret = 0;
 
     ret = voice_extn_start_call(adev);
     if (ret == -ENOSYS) {
-        ret = voice_start_usecase(adev, USECASE_VOICE_CALL, out);
+        ret = voice_start_usecase(adev, USECASE_VOICE_CALL);
     }
     adev->voice.in_call = true;
 
diff --git a/hal/voice.h b/hal/voice.h
index 62fa4ed..76f9d0d 100644
--- a/hal/voice.h
+++ b/hal/voice.h
@@ -69,11 +69,10 @@
     INCALL_REC_UPLINK_AND_DOWNLINK,
 };
 
-int voice_start_usecase(struct audio_device *adev, audio_usecase_t usecase_id,
-                        struct stream_out *out);
+int voice_start_usecase(struct audio_device *adev, audio_usecase_t usecase_id);
 int voice_stop_usecase(struct audio_device *adev, audio_usecase_t usecase_id);
 
-int voice_start_call(struct audio_device *adev, struct stream_out *out);
+int voice_start_call(struct audio_device *adev);
 int voice_stop_call(struct audio_device *adev);
 int voice_set_parameters(struct audio_device *adev, struct str_parms *parms);
 void voice_get_parameters(struct audio_device *adev, struct str_parms *query,
