diff --git a/libraries/Network/src/NetworkUdp.cpp b/libraries/Network/src/NetworkUdp.cpp
index 6134ba49967..21f568f65b0 100644
--- a/libraries/Network/src/NetworkUdp.cpp
+++ b/libraries/Network/src/NetworkUdp.cpp
@@ -296,7 +296,14 @@ int NetworkUDP::parsePacket() {
   }
   struct sockaddr_storage si_other_storage;  // enough storage for v4 and v6
   socklen_t slen = sizeof(sockaddr_storage);
-  int len;
+  int len = 0;
+  if (ioctl(udp_server, FIONREAD, &len) == -1) {
+    log_e("could not check for data in buffer length: %d", errno);
+    return 0;
+  }
+  if (!len) {
+    return 0;
+  }
   char *buf = (char *)malloc(1460);
   if (!buf) {
     return 0;