diff --git a/radio/USRP/USERSPACE/LIB/usrp_lib.cpp b/radio/USRP/USERSPACE/LIB/usrp_lib.cpp
index 2a351dcce094c9537f840dd60934745313a46bb0..2b38ee4fb17a40174b15b0842e27c778b8b46754 100644
--- a/radio/USRP/USERSPACE/LIB/usrp_lib.cpp
+++ b/radio/USRP/USERSPACE/LIB/usrp_lib.cpp
@@ -1417,11 +1417,13 @@ extern "C" {
   s->tx_stream = s->usrp->get_tx_stream(stream_args_tx);
 
   /* Setting TX/RX BW after streamers are created due to USRP calibration issue */
-  for(int i=0; i<((int) s->usrp->get_tx_num_channels()) && i<openair0_cfg[0].tx_num_channels; i++)
-    s->usrp->set_tx_bandwidth(openair0_cfg[0].tx_bw,i+choffset);
+  if (device->type != USRP_N300_DEV) { // N310 with UHD >= 4.2.0 has issues with changing the BW
+    for(int i=0; i<((int) s->usrp->get_tx_num_channels()) && i<openair0_cfg[0].tx_num_channels; i++)
+      s->usrp->set_tx_bandwidth(openair0_cfg[0].tx_bw,i+choffset);
 
-  for(int i=0; i<((int) s->usrp->get_rx_num_channels()) && i<openair0_cfg[0].rx_num_channels; i++)
-    s->usrp->set_rx_bandwidth(openair0_cfg[0].rx_bw,i+choffset);
+    for(int i=0; i<((int) s->usrp->get_rx_num_channels()) && i<openair0_cfg[0].rx_num_channels; i++)
+      s->usrp->set_rx_bandwidth(openair0_cfg[0].rx_bw,i+choffset);
+  }
 
   for (int i=0; i<openair0_cfg[0].rx_num_channels; i++) {
     LOG_I(HW,"RX Channel %d\n",i);