diff -Nurp ../drupal-6.16.orig/includes/form.inc ./includes/form.inc
--- ../drupal-6.16.orig/includes/form.inc	2010-04-19 10:02:36.000000000 -0500
+++ ./includes/form.inc	2010-04-19 10:03:03.000000000 -0500
@@ -2274,6 +2274,7 @@ function form_clean_id($id = NULL, $flus
     return;
   }
   $id = str_replace(array('][', '_', ' '), '-', $id);
+  $id = preg_replace('/\W/i', '-', $id);
 
   // Ensure IDs are unique. The first occurrence is held but left alone.
   // Subsequent occurrences get a number appended to them. This incrementing
