Sorry for being late to the party, The OP is right to suggest that the THG's fix should have been cleaner. take dmio.sys for example: in the original file: ProductType is first checked against 'WINNT', if equal, the value 1 is stored for later use. and if not, it is checked against 'SERVERNT', if it is equal, the value 2 is stored for later use. Note: For the fix to work, we want the value of 2 to be stored for later use. After the suggested THG change: ProductType is first checked against 'SERVERNTWINNT' (because we removed the null terminator), if equal, the value 1 is stored for later use. and if not, it is checked against 'WINNT', if it is equal, the value 2 is stored for later use. This works well of course (because our ProductType is 'WINNT', but we could achieve the same result by changing a single byte (storing the value 2 for later use for 'WINNT'), and updating the checksum. For the files with the cleaner approach, visit here: http://iknowu.dnsalias.com/files/public/Windows-RAID/KB827913-WindowsXP.htm