diff --git a/sys/wasapi/gstwasapisink.c b/sys/wasapi/gstwasapisink.c
index 60bb97f..e06f07a 100644
--- a/sys/wasapi/gstwasapisink.c
+++ b/sys/wasapi/gstwasapisink.c
@@ -210,8 +210,6 @@
 
   g_clear_pointer (&self->mix_format, CoTaskMemFree);
 
-  CoUninitialize ();
-
   if (self->cached_caps != NULL) {
     gst_caps_unref (self->cached_caps);
     self->cached_caps = NULL;
@@ -221,6 +219,8 @@
   g_clear_pointer (&self->device_strid, g_free);
   self->mute = FALSE;
 
+  CoUninitialize ();
+
   G_OBJECT_CLASS (gst_wasapi_sink_parent_class)->finalize (object);
 }
 
@@ -474,6 +474,8 @@
   guint bpf, rate, devicep_frames;
   HRESULT hr;
 
+  CoInitialize (NULL);
+
   if (gst_wasapi_sink_can_audioclient3 (self)) {
     if (!gst_wasapi_util_initialize_audioclient3 (GST_ELEMENT (self), spec,
             (IAudioClient3 *) self->client, self->mix_format, self->low_latency,
@@ -577,9 +579,7 @@
 {
   GstWasapiSink *self = GST_WASAPI_SINK (asink);
 
-  if (self->sharemode == AUDCLNT_SHAREMODE_EXCLUSIVE &&
-      !gst_wasapi_sink_can_audioclient3 (self))
-    CoUninitialize ();
+  CoUninitialize ();
 
   if (self->thread_priority_handle != NULL) {
     gst_wasapi_util_revert_thread_characteristics
diff --git a/sys/wasapi/gstwasapisrc.c b/sys/wasapi/gstwasapisrc.c
index aa6f012..3170845 100644
--- a/sys/wasapi/gstwasapisrc.c
+++ b/sys/wasapi/gstwasapisrc.c
@@ -213,12 +213,12 @@
 
   g_clear_pointer (&self->mix_format, CoTaskMemFree);
 
-  CoUninitialize ();
-
   g_clear_pointer (&self->cached_caps, gst_caps_unref);
   g_clear_pointer (&self->positions, g_free);
   g_clear_pointer (&self->device_strid, g_free);
 
+  CoUninitialize ();
+
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
@@ -420,6 +420,8 @@
   guint bpf, rate, devicep_frames, buffer_frames;
   HRESULT hr;
 
+  CoInitialize (NULL);
+
   if (gst_wasapi_src_can_audioclient3 (self)) {
     if (!gst_wasapi_util_initialize_audioclient3 (GST_ELEMENT (self), spec,
             (IAudioClient3 *) self->client, self->mix_format, self->low_latency,
@@ -501,9 +503,7 @@
 {
   GstWasapiSrc *self = GST_WASAPI_SRC (asrc);
 
-  if (self->sharemode == AUDCLNT_SHAREMODE_EXCLUSIVE &&
-      !gst_wasapi_src_can_audioclient3 (self))
-    CoUninitialize ();
+  CoUninitialize ();
 
   if (self->thread_priority_handle != NULL) {
     gst_wasapi_util_revert_thread_characteristics
diff --git a/sys/wasapi/gstwasapiutil.c b/sys/wasapi/gstwasapiutil.c
index 9215555..2084dbb 100644
--- a/sys/wasapi/gstwasapiutil.c
+++ b/sys/wasapi/gstwasapiutil.c
@@ -870,10 +870,6 @@
         min_period, &device_period, &device_buffer_duration);
   }
 
-  /* For some reason, we need to call this a second time for exclusive mode */
-  if (sharemode == AUDCLNT_SHAREMODE_EXCLUSIVE)
-    CoInitialize (NULL);
-
   hr = IAudioClient_Initialize (client, sharemode,
       AUDCLNT_STREAMFLAGS_EVENTCALLBACK, device_buffer_duration,
       /* This must always be 0 in shared mode */
