diff --git a/special_menu_items.module b/special_menu_items.module
index bcdd664..80e5e22 100644
--- a/special_menu_items.module
+++ b/special_menu_items.module
@@ -53,7 +53,9 @@ function special_menu_items_link(array $variables) {
          . '</span>';
   }
   // Call the original theme function for normal menu link.
-  return theme('link_default',$variables);
+  $theme_registry =& theme_get_registry();
+  $function = $theme_registry['link_default']['function'];
+  return $function($variables);
 }
 
 /**
@@ -95,7 +97,9 @@ function special_menu_items_menu_link(array $variables) {
     return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
   }
   // Call the original theme function for normal menu link.
-  return theme('menu_link_default',$variables);
+  $theme_registry =& theme_get_registry();
+  $function = $theme_registry['menu_link_default']['function'];
+  return $function($variables);
 }
 
 
@@ -168,7 +172,7 @@ function special_menu_items_theme_registry_alter(&$registry) {
   // Save previous value from registry in case another theme overwrites menu_item_link
   $registry['menu_link_default'] = $registry['menu_link'];
   $registry['menu_link']['function'] = 'special_menu_items_menu_link';
-  
+
   $registry['link_default'] = $registry['link'];
   $registry['link']['function'] = 'special_menu_items_link';
 }
@@ -256,4 +260,4 @@ function special_menu_items_menu_link_update($link) {
     }
 }
  *
- */
\ No newline at end of file
+ */
