--- menu_icons.module	2010-05-05 08:48:26.000000000 -0400
+++ menu_icons-a.module	2010-09-16 03:30:23.000000000 -0400
@@ -154,7 +154,15 @@ function menu_icons_form_submit($form, &
  * Implementation of hook_init().
  */
 function menu_icons_init() {
-  drupal_add_css(menu_icons_directory_path() .'/menu_icons.css');
+  switch (variable_get('file_downloads', FILE_DOWNLOADS_PUBLIC)) {
+    case FILE_DOWNLOADS_PUBLIC:
+      drupal_add_css(menu_icons_directory_path() .'/menu_icons.css');
+      break;
+    case FILE_DOWNLOADS_PRIVATE:
+      $url = file_create_url(menu_icons_directory_path() .'/menu_icons.css');
+      $output = '<link type="text/css" rel="stylesheet" media="' . $media . '" href="' . $url . '" />'."\n";
+      drupal_set_html_head($output);
+  }
 }
 
 /**
@@ -242,12 +250,14 @@ function menu_icons_css_generate() {
       $info = image_get_info($options['menu_icon']['path']);
 
       // Support private filesystem
-      if (strpos($options['menu_icon']['path'], menu_icons_directory_path()) === 0) {
-        $image_url = file_create_url($options['menu_icon']['path']);
-      }
-      else {
-        $image_url = base_path() . $options['menu_icon']['path'];
+      switch (variable_get('file_downloads', FILE_DOWNLOADS_PUBLIC)) {
+        case FILE_DOWNLOADS_PUBLIC:
+          $image_url = base_path() . $options['menu_icon']['path'];
+          break;
+        case FILE_DOWNLOADS_PRIVATE:
+          $image_url = file_create_url($options['menu_icon']['path']);
       }
+
       $css .= theme('menu_icons_css_item', $item['mlid'], $image_url, $info['width'], $pos);
     }
   }
