diff --git a/plugins/multimedia/pulseaudio/qpulseaudioengine.cpp b/plugins/multimedia/pulseaudio/qpulseaudioengine.cpp
index 650c12d..7111da1 100644
--- a/plugins/multimedia/pulseaudio/qpulseaudioengine.cpp
+++ b/plugins/multimedia/pulseaudio/qpulseaudioengine.cpp
@@ -210,6 +210,7 @@ QPulseAudioEngine::QPulseAudioEngine(QObject *parent)
 
     if (!m_context) {
         qWarning("Unable to create new pulseaudio context");
+        pa_threaded_mainloop_unlock(m_mainLoop);
         pa_threaded_mainloop_free(m_mainLoop);
         return;
     }
@@ -217,6 +218,7 @@ QPulseAudioEngine::QPulseAudioEngine(QObject *parent)
     if (pa_context_connect(m_context, NULL, (pa_context_flags_t)0, NULL) < 0) {
         qWarning("Unable to create a connection to the pulseaudio context");
         pa_context_unref(m_context);
+        pa_threaded_mainloop_unlock(m_mainLoop);
         pa_threaded_mainloop_free(m_mainLoop);
         return;
     }
