Original patch by Mike Jerris. darcs-hash:20081219165102-db55f-92c4ef7068f959f14ae54a3304467e4aa42bd252.gz