diff --git a/src/utility/time/NTPUtils.cpp b/src/utility/time/NTPUtils.cpp
index 24c626a73..3069ae823 100644
--- a/src/utility/time/NTPUtils.cpp
+++ b/src/utility/time/NTPUtils.cpp
@@ -54,7 +54,7 @@ unsigned long NTPUtils::getTime(UDP & udp)
     udp.stop();
     return 0;
   }
-  
+
   uint8_t ntp_packet_buf[NTP_PACKET_SIZE];
   udp.read(ntp_packet_buf, NTP_PACKET_SIZE);
   udp.stop();
@@ -62,6 +62,12 @@ unsigned long NTPUtils::getTime(UDP & udp)
   unsigned long const highWord      = word(ntp_packet_buf[40], ntp_packet_buf[41]);
   unsigned long const lowWord       = word(ntp_packet_buf[42], ntp_packet_buf[43]);
   unsigned long const secsSince1900 = highWord << 16 | lowWord;
+
+  /* Check for corrupted NTP response */
+  if(secsSince1900 == 0) {
+    return 0;
+  }
+
   unsigned long const seventyYears  = 2208988800UL;
   unsigned long const epoch         = secsSince1900 - seventyYears;
 
@@ -75,7 +81,7 @@ unsigned long NTPUtils::getTime(UDP & udp)
 void NTPUtils::sendNTPpacket(UDP & udp)
 {
   uint8_t ntp_packet_buf[NTP_PACKET_SIZE] = {0};
-  
+
   ntp_packet_buf[0]  = 0b11100011;
   ntp_packet_buf[1]  = 0;
   ntp_packet_buf[2]  = 6;
@@ -84,7 +90,7 @@ void NTPUtils::sendNTPpacket(UDP & udp)
   ntp_packet_buf[13] = 0x4E;
   ntp_packet_buf[14] = 49;
   ntp_packet_buf[15] = 52;
-  
+
   udp.beginPacket(NTP_TIME_SERVER, NTP_TIME_SERVER_PORT);
   udp.write(ntp_packet_buf, NTP_PACKET_SIZE);
   udp.endPacket();