There are several places in pcvt_kbd.c which use the CONTROLLER_CTRL port and then read from the CONTROLLER_DATA port, and only one of these had a delay(6). I added delay(6); before inb(CONTROLLER_DATA) in each other instance and the problem is now fixed. This was in the version of pcvt included in netbsd-current. I hope both the netbsd and pcvt maintainers will include the fix in future versions.