diff --git a/lib/bladerf/bladerf_common.cc b/lib/bladerf/bladerf_common.cc
index 96c7d48e2512de2e924e2cf0b6cc77b1b082497b..11d4065223d51ff94497727a32a6c0e821824422 100644
--- a/lib/bladerf/bladerf_common.cc
+++ b/lib/bladerf/bladerf_common.cc
@@ -287,10 +287,13 @@ void bladerf_common::init(dict_t const &dict, bladerf_direction direction)
       };
       if(dict.count(ch_label("bias_tee")))
       {
-          auto status = bladerf_set_bias_tee(_dev.get(), ch, _get(dict, ch_label("bias_tee")) == "True");
-          if (status != 0) {
-            BLADERF_WARNING("bladerf_set_bias_tee: "
-                            << bladerf_strerror(status));
+          auto status = bladerf_set_bias_tee(_dev.get(), ch,
+                                             _get(dict, ch_label("bias_tee")) == "True");
+          if (BLADERF_ERR_UNSUPPORTED == status) {
+            // unsupported, but not worth crashing out
+            BLADERF_WARNING("Bias-tee not supported by device");
+          } else if (status != 0) {
+            BLADERF_THROW_STATUS(status, "Failed to set bias-tee");
           }
       }
   }
diff --git a/lib/bladerf/bladerf_sink_c.cc b/lib/bladerf/bladerf_sink_c.cc
index ca187460e20c8e07bd43d7f240b6d1f7eb91440c..1dbf3b5e89341c790457f2a8cba4de9f2863d685 100644
--- a/lib/bladerf/bladerf_sink_c.cc
+++ b/lib/bladerf/bladerf_sink_c.cc
@@ -91,11 +91,6 @@ bladerf_sink_c::bladerf_sink_c(const std::string &args) :
                     "and will have no effect.");
   }
 
-  /* Bias tee */
-  if (dict.count("biastee")) {
-    set_biastee_mode(dict["biastee"]);
-  }
-
   /* Initialize channel <-> antenna map */
   for (std::string ant : get_antennas()) {
     _chanmap[str2channel(ant)] = -1;
diff --git a/lib/bladerf/bladerf_source_c.cc b/lib/bladerf/bladerf_source_c.cc
index 0fc570f15f003503958733c281db926b84f0320a..c140f7f907c9f28ca39618b83dde1402fcb6be1b 100644
--- a/lib/bladerf/bladerf_source_c.cc
+++ b/lib/bladerf/bladerf_source_c.cc
@@ -102,11 +102,6 @@ bladerf_source_c::bladerf_source_c(const std::string &args) :
     }
   }
 
-  /* Bias tee */
-  if (dict.count("biastee")) {
-    set_biastee_mode(dict["biastee"]);
-  }
-
   /* Loopback */
   set_loopback_mode(dict.count("loopback") ? dict["loopback"] : "none");