diff --git a/dlls/winepulse.drv/mmdevdrv.c b/dlls/winepulse.drv/mmdevdrv.c
index b2f83c8bea32433b73c022a07efe86fcb3b6fb6c..73698022428694d52d4d0d04868b2150e343e76d 100644
--- a/dlls/winepulse.drv/mmdevdrv.c
+++ b/dlls/winepulse.drv/mmdevdrv.c
@@ -2239,10 +2239,9 @@ static HRESULT WINAPI AudioClock_GetFrequency(IAudioClock *iface, UINT64 *freq)
     pthread_mutex_lock(&pulse_lock);
     hr = pulse_stream_valid(This);
     if (SUCCEEDED(hr)) {
+        *freq = This->ss.rate;
         if (This->share == AUDCLNT_SHAREMODE_SHARED)
-            *freq = This->ss.rate * pa_frame_size(&This->ss);
-        else
-            *freq = This->ss.rate;
+            *freq *= pa_frame_size(&This->ss);
     }
     pthread_mutex_unlock(&pulse_lock);
     return hr;