diff --git a/commands/pm/pm.drush.inc b/commands/pm/pm.drush.inc
index 89620c3..f714d08 100644
--- a/commands/pm/pm.drush.inc
+++ b/commands/pm/pm.drush.inc
@@ -254,6 +254,17 @@ function pm_drush_command() {
       'release_info',
     ),
   );
+  $items['pm-readme'] = array(
+    'description' => 'Print README file for given projects.',
+    'arguments' => array(
+      'projects' => 'A list of project names, with optional version. Defaults to \'drupal\'',
+    ),
+    'aliases' => array('pmr'),
+    'bootstrap' => DRUSH_BOOTSTRAP_MAX,
+    'engines' => array(
+      'release_info',
+    ),      
+  ); 
   return $items;
 }
 
@@ -1226,6 +1237,21 @@ function drush_pm_updatecode_postupdate() {
 }
 
 /**
+ * Command callback. Show README file for given project(s).
+ */
+function drush_pm_readme() {
+  $release_info = drush_get_option('release-info', 'updatexml');
+  drush_include_engine('release_info', $release_info);
+
+  if (!$requests = pm_parse_arguments(func_get_args(), FALSE)) {
+    $requests = array('drupal');
+  }
+  $requests = pm_parse_project_version($requests);
+  
+  return release_info_print_readme($requests);
+}
+
+/**
  * Sanitize user provided arguments to several pm commands.
  *
  * Return an array of arguments off a space and/or comma separated values. It also
diff --git a/commands/pm/release_info/updatexml.inc b/commands/pm/release_info/updatexml.inc
index ba5554a..e2524de 100644
--- a/commands/pm/release_info/updatexml.inc
+++ b/commands/pm/release_info/updatexml.inc
@@ -226,6 +226,107 @@ function release_info_print_releasenotes($requests, $print_status = TRUE, $tmpfi
 }
 
 /**
+ * Prints README file for given projects.
+ *
+ * @param $requests
+ *   An array of drupal.org project names optionally with a version.
+ */
+function release_info_print_readme($requests) {
+  $info = release_info_get_releases($requests);
+      
+  if (!$info) {
+    return drush_log(dt('No valid projects given.'), 'ok');
+  }
+
+  if (is_null($tmpfile)) {
+    $tmpfile = drush_tempnam('pmr-' . implode('-', $requests) . '.');
+  }
+  
+  foreach ($info as $key => $project) {
+    $version = '';
+    // If the request included version, only show its README file.
+    if (isset($requests[$key]['version'])) {
+      $version = $requests[$key]['version'];
+    }
+    else {
+      // Special handling if the project is installed.
+      if (isset($project['installed'])) {
+        $version = $project['installed'];
+      }     
+      else if (isset($project['recommended'])) {
+        // Project is not installed so we will show the README file
+        // for the recommended version, as the user did not specify one.        
+        $version = $project['recommended'];        
+      }
+      else {
+        // Falling back to most recent release.
+        $version = key($project['releases']);
+      }
+    }
+    
+    // Finding tag for the selected version, try to read the tree list and find
+    // a README file.
+    if (!empty($version)) {
+      $tag = $project['releases'][$version]['tag'];
+      
+      // Git tree URL which depends on the tag.
+      if ($tag == 'master') {
+        $tree_url = 'http://drupalcode.org/project/' . $key . '.git/tree/refs/heads/master';
+      }
+      else {
+        $tree_url = 'http://drupalcode.org/project/' . $key . '.git/tree/refs/tags/' . $tag;
+      }
+      
+      // Downloading content of tree list and extracting url to README file.
+      $tree_tmpfile = drush_tempnam('pmr-tree-' . $key . '-' . $tag. '.');
+      $readme_url = '';
+      if ($tree_file = drush_download_file($tree_url, $tree_tmpfile)) {
+        drush_log(dt("Successfully downloaded Git tree list for !project (!version) project.", array('!project' => $key, '!version' => $version)), 'notice');
+        $tree_content = file_get_contents($tree_file);
+        preg_match_all('/<a href=\"([^"]*)\">raw<\/a>/i', $tree_content, $matches);
+        if (!empty($matches[1])) {
+          foreach ($matches[1] as $url) {
+            if (stripos($url, '/readme') !== FALSE) {
+              $readme_url = $url;
+              drush_log(dt("Successfully found url to README file for !project (!version) project. README url: !readme_url", array('!project' => $key, '!version' => $version, '!readme_url' => $readme_url)), 'notice');
+              continue;
+            }
+            
+          }
+        }
+      }
+      else {
+        drush_log(dt("Error while requesting Git tree list for !project (!version) project. Requested url: !tree_url", array('!project' => $key, '!version' => $version, '!tree_url' => $tree_url)), 'error');
+      }
+              
+      // Downloading README file from the extracted URL, and add the content to
+      // the tmp print file.
+      if (!empty($readme_url)) {
+        $readme_tmpfile = drush_tempnam('pmr-' . $key . '-' . $tag. '.');
+        if ($file = drush_download_file($readme_url, $readme_tmpfile)) {
+          drush_log(dt("Successfully downloaded README file for !project (!version) project.", array('!project' => $key, '!version' => $version)), 'notice');
+          $readme_content = file_get_contents($file);
+          $readme_header = dt("<hr>
+> README FILE FOR '!name' PROJECT, VERSION !version:
+<hr>
+", array('!name' => strtoupper($key), '!version' => $version));
+          $print = drush_html_to_text($readme_header . $readme_content . "\n\n", array('br', 'p', 'ul', 'ol', 'li', 'hr'));
+          if (drush_drupal_major_version() < 7) { $print .= "\n"; }
+          file_put_contents($tmpfile, $print, FILE_APPEND);
+        }
+        else {
+          drush_log(dt("Error while requesting README file for !project (!version) project. README url: !readme_url", array('!project' => $key, '!version' => $version, '!readme_url' => $readme_url)), 'error');
+        }
+      }
+      else {
+        drush_log(dt("No README file was found for !project (!version) project.", array('!project' => $key, '!version' => $version)), 'ok');
+      }
+    }
+  }
+  drush_print_file($tmpfile);
+}
+
+/**
  * Helper function for release_info_filter_releases().
  */
 function _release_info_compare_date($a, $b) {
