Patch provided by Ralf Habacker (ralf dot habacker at freenet dot de)