diff --git a/drivers/firewire/core-cdev.c b/drivers/firewire/core-cdev.c
index f40098dec14bd2275e20710a7a08f2e94fa08fb4..1a14dbf097f02f45ca99aea3072c65899921f4d1 100644
--- a/drivers/firewire/core-cdev.c
+++ b/drivers/firewire/core-cdev.c
@@ -1048,13 +1048,9 @@ static int ioctl_queue_iso(struct client *client, union ioctl_arg *arg)
 			 * We require that header_length is a multiple of
 			 * the fixed header size, ctx->header_size.
 			 */
-			if (ctx->header_size == 0) {
-				if (u.packet.header_length > 0)
-					return -EINVAL;
-			} else if (u.packet.header_length == 0 ||
-				   u.packet.header_length % ctx->header_size != 0) {
+			if (u.packet.header_length == 0 ||
+			    u.packet.header_length % ctx->header_size != 0)
 				return -EINVAL;
-			}
 			header_length = 0;
 		}