diff --git a/dhcp.c b/dhcp.c
index b3f7cb1..bdd984f 100644
--- a/dhcp.c
+++ b/dhcp.c
@@ -271,34 +271,21 @@
 
 		if (type)
 			*type = opt->type;
-		/* The size of RFC3442 and RFC5969 options is checked at a later
-		 * stage in the code */
+
 		if (opt->type == 0 ||
 		    opt->type & (STRING | RFC3442 | RFC5969))
 			return 0;
-		/* The code does not use SINT16 / SINT32 together with ARRAY.
-		 * It is however far easier to reason about the code if all
-		 * possible array elements are included, and also does not code
-		 * any additional CPU resources. sizeof(uintXX_t) ==
-		 * sizeof(intXX_t) can be assumed. */
+
 		sz = 0;
-		if (opt->type & (UINT32 | SINT32 | IPV4))
+		if (opt->type & (UINT32 | IPV4))
 			sz = sizeof(uint32_t);
-		else if (opt->type & (UINT16 | SINT16))
+		if (opt->type & UINT16)
 			sz = sizeof(uint16_t);
-		else if (opt->type & UINT8)
+		if (opt->type & UINT8)
 			sz = sizeof(uint8_t);
-		if (opt->type & ARRAY) {
-			/* The result of modulo zero is undefined. There are no
-			 * options defined in this file that do not match one of
-			 * the if-clauses above, so the following is not really
-			 * necessary. However, to avoid confusion and unexpected
-			 * behavior if the defined options are ever extended,
-			 * returning false here seems sensible. */
-			if (!sz) return -1;
-			return (dl % sz == 0) ? 0 : -1;
-		}
-		return (sz == dl) ? 0 : -1;
+		if (opt->type & (IPV4 | ARRAY))
+			return dl % sz;
+		return (dl == sz ? 0 : -1);
 	}
 
 	/* unknown option, so let it pass */
