Note that this patch introduces a memory leak under some conditions. ---Tom