Serial.read returns only single bytes (or -1 if no data is available), encoded in an "int".
On the Arduino, an "int" is two bytes, so you need to arrange for the appropriate number of bytes to be read using, for example, a "for" loop.
Always use "Serial.available" before a read to ensure there is sufficient data in the buffer.
If you're sending two "byte"s, why not read two "byte"s?