diff --git a/project_dependency.drupal.inc b/project_dependency.drupal.inc
index 28743a8..0500c3e 100644
--- a/project_dependency.drupal.inc
+++ b/project_dependency.drupal.inc
@@ -287,7 +287,7 @@ function project_dependency_core_api_from_term($core_api_term_name) {
  *
  * @param $release
  *   A keyed array of release information, containing
- *   - 'tag' => The tag of the release (like 7.x-1.0)
+ *   - 'tag' => The tag or branch of the release (like 7.x-1.0 or 7.x-1.x)
  *   - 'uri' => The project shortname (like 'views')
  *   - 'nid' => The nid of the project release node
  *
@@ -295,7 +295,7 @@ function project_dependency_core_api_from_term($core_api_term_name) {
  *   An array of dependencies, or FALSE on failure.
  */
 function project_dependency_info_batch_process_release(array $release) {
-  watchdog('project_dependency', 'Processing %uri release uri with repo %repo, label %tag', array('%uri' => $release['uri'], '%repo' => $release['repo'], '%tag' => $release['tag']), WATCHDOG_INFO, l(t('view release'), 'node/' . $release['nid']));
+  watchdog('project_dependency', 'Processing %uri release with repo %repo, label %tag', array('%uri' => $release['uri'], '%repo' => $release['repo'], '%tag' => $release['tag']), WATCHDOG_INFO, l(t('view release'), 'node/' . $release['nid']));
   $release_wrapper = entity_metadata_wrapper('node', $release['nid']);
   $project_type = $release_wrapper->field_release_project->type->value();
   if (!in_array($project_type, array('project_core', 'project_module'))) {
@@ -307,15 +307,21 @@ function project_dependency_info_batch_process_release(array $release) {
   $directory = $release['uri'];
   $work_tree = '/tmp/' . $directory . '_' . time();
   $esc_work_tree = escapeshellarg($work_tree);
-  // This requires Git 1.7.10 or more recent.
-  //$command = "git clone --depth 1 --branch $tag $url $esc_work_tree 2>&1";
-  // For older versions of Git.
-  $command = "git clone $url $esc_work_tree 2>&1; cd $esc_work_tree; git checkout tags/$tag 2>&1";
+  $command = "git clone --depth 1 --branch $tag $url $esc_work_tree 2>&1";
   exec($command, $output, $status);
   if ($status) {
     watchdog('project_dependency', 'Failed to execute git command %cmd; output=%output', array('%cmd' => $command, '%output' => implode(' ', $output)));
     return FALSE;
   }
+  if ($release_wrapper->field_release_build_type->value() === 'static') {
+    // For older versions of Git. --branch {tag} is supported as of 1.7.10
+    $command = "cd $esc_work_tree; git checkout $tag 2>&1";
+    exec($command, $output, $status);
+    if ($status) {
+      watchdog('project_dependency', 'Failed to execute git command %cmd; output=%output', array('%cmd' => $command, '%output' => implode(' ', $output)));
+      return FALSE;
+    }
+  }
 
   // Scan checkout for .info files and create a list in the same format that
   // project release uses, so that standard API functions can be used.
