diff --git drush_make.drush.inc drush_make.drush.inc
index 509c545..3f3d012 100644
--- drush_make.drush.inc
+++ drush_make.drush.inc
@@ -32,7 +32,7 @@ function drush_make_drush_command() {
     ),
     'options' => array(
       '--version' => 'Print the version and exit.',
-      '--contrib-destination=path' => 'Specify a path under which modules and themes should be placed. Defaults to sites/all.',
+      '--contrib-destination=path' => 'Specify a path under which modules and themes should be placed. If set, this option overrides the install_path option for a project in the makefile. Defaults to sites/all.',
       '--force-complete' => 'Force a complete build even if errors occur.',
       '--ignore-checksums' => 'Ignore md5 checksums for downloads.',
       '--md5' => 'Output an md5 hash of the current build after completion.',
@@ -172,6 +172,7 @@ function drush_make_projects($recursion, $contrib_destination, $info, $build_pat
       'location'            => drush_get_option('drush-make-update-default-url'),
       'subdir'              => '',
       'directory_name'      => '',
+      'install_path'        => '',
     );
     if ($project['location'] != 'http://updates.drupal.org/release-history' && !isset($project['type'])) {
       $project = drush_make_updatexml($project);
@@ -256,6 +257,7 @@ function drush_make_libraries($contrib_destination, $info, $build_path) {
       'contrib_destination' => $contrib_destination,
       'subdir'              => '',
       'directory_name'      => $key,
+      'install_path'        => '',
     );
     if ($ignore_checksums) {
       unset($library['download']['md5']);
diff --git drush_make.project.inc drush_make.project.inc
index d0f2a48..3c5ff85 100644
--- drush_make.project.inc
+++ drush_make.project.inc
@@ -8,7 +8,15 @@ class DrushMakeProject {
    * Set attributes and retrieve project information.
    */
   function __construct($project) {
-    $project['base_contrib_destination'] = $project['contrib_destination'];
+    // When the contrib destination is set it takes precidence over the install_path
+    // defined for a project in the make file.
+    if (!drush_get_option('contrib-destination') && !empty($project['install_path'])) {
+      $project['base_contrib_destination'] = $project['install_path'];
+    }
+    else {
+      $project['base_contrib_destination'] = $project['contrib_destination'];
+    }
+
     foreach ($project as $key => $value) {
       $this->{$key} = $value;
     }
