diff --git a/src/multimedia/audio/qsoundeffect_pulse_p.cpp b/src/multimedia/audio/qsoundeffect_pulse_p.cpp
index 1e92045983f993b1b1779d3713a2f5f845329d74..76cb657e345f3c9c8490fbaf8905e0c549d1d6ea 100644
--- a/src/multimedia/audio/qsoundeffect_pulse_p.cpp
+++ b/src/multimedia/audio/qsoundeffect_pulse_p.cpp
@@ -190,7 +190,10 @@ private Q_SLOTS:
 
         pa_context_set_state_callback(m_context, context_state_callback, this);
 
-        if (pa_context_connect(m_context, 0, (pa_context_flags_t)0, 0) < 0) {
+        const QByteArray srvStrEnv = qgetenv("QT_PULSE_SERVER_STRING");
+        const char *srvStr = srvStrEnv.isNull() ? 0 : srvStrEnv.constData();
+
+        if (pa_context_connect(m_context, srvStr, (pa_context_flags_t)0, 0) < 0) {
             qWarning("PulseAudioService: pa_context_connect() failed");
             pa_context_unref(m_context);
             unlock();