Original patch by Mike Jerris darcs-hash:20081219143853-db55f-3296453bf2890ebdc23fb86acdc1187d5fbea436.gz