diff --git a/cc3200/telnet/telnet.c b/cc3200/telnet/telnet.c
index b96a09521ec5b1949f063dbbed9bc2fe3f67ff56..f6d93f8d789f4756724a4551d1f2957aae52ca71 100644
--- a/cc3200/telnet/telnet.c
+++ b/cc3200/telnet/telnet.c
@@ -468,8 +468,9 @@ static void telnet_parse_input (uint8_t *str, int16_t *len) {
             }
         }
         else {
-            _str += 3;
-            *len -= 3;
+            // in case we have received an incomplete telnet option, unlikely, but possible
+            _str += MIN(3, *len);
+            *len -= MIN(3, *len);
         }
     }
 }