diff --git a/features.module b/features.module
index d9ce8d6..7e3d1b0 100644
--- a/features.module
+++ b/features.module
@@ -280,13 +280,34 @@ function features_permission() {
 function features_help($path, $arg) {
   switch ($path) {
     case 'admin/help#features':
-      $output = file_get_contents(drupal_get_path('module', 'features') .'/README.txt');
-      return module_exists('markdown') ? filter_xss_admin(module_invoke('markdown', 'filter', 'process', 0, -1, $output)) : '<pre>'. check_plain($output) .'</pre>';
+      return _features_get_readme();
     case 'admin/build/features':
       return '<p>'. t('A "Feature" is a certain type of Drupal module which contains a package of configuration that, when enabled, provides a new set of functionality for your Drupal site. Enable features by selecting the checkboxes below and clicking the Save configuration button. If the configuration of the feature has been changed its "State" will be either "overridden" or "needs review", otherwise it will be "default", indicating that the configuration has not been changed. Click on the state to see more details about the feature and its components.') .'</p>';
   }
 }
 
+function _features_get_readme() {
+  $readme = file_get_contents(dirname(__FILE__) . '/README.txt');
+  
+  if (module_exists('markdown')) {
+    $filters = module_invoke('markdown', 'filter_info');
+    $info = $filters['filter_markdown'];
+    
+    if (function_exists($info['process callback'])) {
+      $function = $info['process callback'];
+      $output = filter_xss_admin($function($readme, NULL));
+    }
+    else {
+      $output = '<pre>'. check_plain($readme) .'</pre>';
+    }
+  }
+  else {
+    $output = '<pre>'. check_plain($readme) .'</pre>';
+  }
+  
+  return $output;
+}
+
 /**
  * Implements hook_modules_disabled().
  */
