diff --git a/examples/provider/wifi_manager.cc b/examples/provider/wifi_manager.cc
index 7afd9ca..27bbfd6 100644
--- a/examples/provider/wifi_manager.cc
+++ b/examples/provider/wifi_manager.cc
@@ -73,8 +73,10 @@
   std::string essid(' ', IW_ESSID_MAX_SIZE + 1);
   wreq.u.essid.pointer = &essid[0];
   wreq.u.essid.length = essid.size();
-  CHECK_GE(ioctl(sockf_d, SIOCGIWESSID, &wreq), 0) << strerror(errno);
-  essid.resize(wreq.u.essid.length);
+  if (ioctl(sockf_d, SIOCGIWESSID, &wreq) >= 0)
+    essid.resize(wreq.u.essid.length);
+  else
+    essid.clear();
   close(sockf_d);
   return essid;
 }
@@ -90,13 +92,13 @@
   wreq.u.data.pointer = &range;
   wreq.u.data.length = sizeof(range);
 
-  CHECK_GE(ioctl(sockf_d, SIOCGIWRANGE, &wreq), 0) << strerror(errno);
-
   bool result = false;
-  for (size_t i = 0; !result && i < range.num_frequency; ++i) {
-    double freq = range.freq[i].m * std::pow(10., range.freq[i].e);
-    if (start <= freq && freq <= end)
-      result = true;
+  if (ioctl(sockf_d, SIOCGIWRANGE, &wreq) >= 0) {
+    for (size_t i = 0; !result && i < range.num_frequency; ++i) {
+      double freq = range.freq[i].m * std::pow(10., range.freq[i].e);
+      if (start <= freq && freq <= end)
+        result = true;
+    }
   }
 
   close(sockf_d);
