libconf.ant.rx = rx;
        libconf.ant.tx = tx;
 
+       /*
+        * Antenna setup changes require the RX to be disabled,
+        * else the changes will be ignored by the device.
+        */
+       if (test_bit(DEVICE_ENABLED_RADIO, &rt2x00dev->flags))
+               rt2x00lib_toggle_rx(rt2x00dev, STATE_RADIO_RX_OFF);
+
        /*
         * Write new antenna setup to device and reset the link tuner.
         * The latter is required since we need to recalibrate the
 
        rt2x00dev->link.ant.active.rx = libconf.ant.rx;
        rt2x00dev->link.ant.active.tx = libconf.ant.tx;
+
+       if (test_bit(DEVICE_ENABLED_RADIO, &rt2x00dev->flags))
+               rt2x00lib_toggle_rx(rt2x00dev, STATE_RADIO_RX_ON);
 }
 
 void rt2x00lib_config(struct rt2x00_dev *rt2x00dev,