diff --git a/menu_css_names.module b/menu_css_names.module
index 3237bc5..3949359 100644
--- a/menu_css_names.module
+++ b/menu_css_names.module
@@ -13,10 +13,6 @@
  * Theme registry overrides for various theme functions 
  */
 function menu_css_names_theme_registry_alter(&$theme_registry) {
-  if (!empty($theme_registry['menu_link'])) {
-    $theme_registry['menu_link']['function'] = 'menu_css_names_menu_link';
-  }
-  
   if (!empty($theme_registry['links'])) {
     $theme_registry['links']['function'] = 'menu_css_names_links';
   }
@@ -129,31 +125,6 @@ function menu_css_names_links($variables) {
 
 
 /**
- * This is the modified version of the default theme_menu_link() function
- *
- **/
-function menu_css_names_menu_link(array $variables) {
-  $element = $variables['element'];
-  $sub_menu = '';
-
-  if ($element['#below']) {
-    $sub_menu = drupal_render($element['#below']);
-  }
-  
-  // new menu_css_names code starts here
-  //
-  // add a class that is equal to the title of the menu link,
-  // replacing special characters with dashes.
-  if (!empty($element['title'])) {
-    $element['#attributes']['class'][] = _make_class_name($element['title']);
-	}
-	// end of menu_css_names code
-			
-  $output = l($element['#title'], $element['#href'], $element['#localized_options']);
-  return '<li ' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
-}
-
-/**
  * This is the modified version of the default theme_menu_tree() function
  *
  * Note that this function wasn't overrided in the D6 version of this module.
@@ -289,15 +260,23 @@ function menu_css_names_nice_menus_build($variables) {
   return $output;
 }
 
-// if dhtml_menu module is installed and enabled, then check to see if this menu is
-// being handled by dhtml_menu. if it is, then add in an additional class based on
-// the link text
+/**
+ * Implements hook_preprocess_HOOK() for theme_menu_link.
+ */
 function menu_css_names_preprocess_menu_link(&$variables) {
-	if (module_exists('dhtml_menu')) {
-	  if (in_array('dhtml-menu', $variables['element']['#attributes']['class'])) {
-			$variables['element']['#attributes']['class'][] = _make_class_name($variables['element']['#title']);
-		}
-	}
+  // Add link title as a class
+  if (!empty($variables['element']['#title'])) {
+    $variables['element']['#attributes']['class'][] = _make_class_name($variables['element']['#title']);
+  }
+
+  // If dhtml_menu module is installed and enabled, then check to see if this
+  // menu is being handled by dhtml_menu. If it is, then add in an additional
+  // class based on the link text.
+  if (module_exists('dhtml_menu')) {
+    if (in_array('dhtml-menu', $variables['element']['#attributes']['class'])) {
+      $variables['element']['#attributes']['class'][] = _make_class_name($variables['element']['#title']);
+    }
+  }
 }
 
 
@@ -311,4 +290,4 @@ function _make_class_name($text) {
 	$text = preg_replace('/(^-+|-+$)/', '', $text);
 	$text = preg_replace('/--+/', '-', $text);
 	return $text;
-}
\ No newline at end of file
+}
