Parallel port programming oddity

I've used the simple parallel port programming lead several times on 168 chips to burn the bootloader (from V15 of the IDE) with no problems, but when I tried to burn a 328 it failed to ID the chip. Thinking I might have a duff chip I tried another one with the same result, but another 168 worked fine.

After some head-scratching and googling around I came up with the following solution.

First I halved the length of the lead so it's now only about 200mm long, then I reduced the 220R resistor to 150R and the 470R ones to 330R. Finally I doubled up the ground wire and took it to two of the D connectors grounds.

It seems to work fine now - just thought others might like to know.