diff --git a/dlls/winealsa.drv/mixer.c b/dlls/winealsa.drv/mixer.c
index ffa0292..b77d875 100644
--- a/dlls/winealsa.drv/mixer.c
+++ b/dlls/winealsa.drv/mixer.c
@@ -520,7 +520,12 @@ static void ALSA_MixerInit(void)
             }
 
         /* Add master channel, uncounted channels and an extra for capture  */
-        mixdev[mixnum].chans += !!mastelem + !!headelem + !!pcmelem + 1;
+        /* Do not add the extra channel needed for capture on half-duplex capture cards
+           like snd_usb_audio mics */
+        if (micelem && !mastelem && !captelem)
+            mixdev[mixnum].chans += !!mastelem + !!headelem + !!pcmelem + !!micelem;
+        else
+            mixdev[mixnum].chans += !!mastelem + !!headelem + !!pcmelem + !!micelem + 1;
 
         /* If there is only 'Capture' and 'Master', this device is not worth it */
         if (mixdev[mixnum].chans == 2)
