Index: wp-includes/widgets.php
===================================================================
--- wp-includes/widgets.php	(revision 17521)
+++ wp-includes/widgets.php	(working copy)
@@ -91,7 +91,7 @@
 	 *	 - height: currently not used but may be needed in the future
 	 */
 	function __construct( $id_base = false, $name, $widget_options = array(), $control_options = array() ) {
-		$this->id_base = empty($id_base) ? preg_replace( '/(wp_)?widget_/', '', strtolower(get_class($this)) ) : strtolower($id_base);
+		$this->id_base = empty($id_base) ? preg_replace( '/(wp_)?widget_/', '', sanitize_key( get_class( $this ) ) ) : sanitize_key( $id_base );
 		$this->name = $name;
 		$this->option_name = 'widget_' . $this->id_base;
 		$this->widget_options = wp_parse_args( $widget_options, array('classname' => $this->option_name) );
