diff --git includes/file.inc includes/file.inc
index 4e9e9e2..8032b1c 100644
--- includes/file.inc
+++ includes/file.inc
@@ -254,6 +254,28 @@ function file_uri_target($uri) {
 }
 
 /**
+ * Returns the local path of an URI relative to the base path.
+ * 
+ * @param $uri
+ *   A stream, referenced as "scheme://target".
+ *
+ * @return
+ *   A string containing the local path relative to the base path, or FALSE if none.
+ *   For example, the URI "public://sample/test.txt" would return
+ *   "sites/default/files/sample/test.txt".
+ *
+ * @see file_uri_target()
+ */
+function file_uri_path($uri) {
+  $stream_wrapper = file_stream_wrapper_get_instance_by_uri($uri);
+  if (!($stream_wrapper instanceof DrupalLocalStreamWrapper)) {
+    return FALSE;
+  }
+  $target = file_uri_target($uri);
+  return $target ? $stream_wrapper->getDirectoryPath() . '/' . $target : FALSE;
+}
+
+/**
  * Get the default file stream implementation.
  *
  * @return
diff --git modules/color/color.module modules/color/color.module
index aa1007c..3fb3885 100644
--- modules/color/color.module
+++ modules/color/color.module
@@ -89,6 +89,10 @@ function _color_html_alter(&$vars) {
         if (basename($old_path) == basename($color_path)) {
           // Replace the path to the new css file.
           // This keeps the order of the stylesheets intact.
+          // Change URI paths into local paths;
+          if (file_valid_uri($color_path)) {
+            $color_path = file_uri_path($color_path);
+          }
           $vars['css'][$old_path]['data'] = $color_path;
         }
       }
diff --git modules/color/color.test modules/color/color.test
index e056643..68aca15 100644
--- modules/color/color.test
+++ modules/color/color.test
@@ -84,5 +84,17 @@ class ColorTestCase extends DrupalWebTestCase {
     $stylesheet_content = join("\n", file($stylesheets[0]));
     $matched = preg_match('/(.*color: ' . $test_values['scheme_color'] . '.*)/i', $stylesheet_content, $matches);
     $this->assertTrue($matched == 1, 'Make sure the color we changed is in the color stylesheet. (' . $theme . ')');
+
+    //Test Garland with aggregate CSS turned on
+    variable_set('preprocess_css', 1);
+    $this->drupalGet('<front>');
+    $stylesheets = variable_get('drupal_css_cache_files', array());
+    $stylesheet_content = '';
+    foreach ($stylesheets as $key => $uri) {
+      $stylesheet_content .= join("\n", file(drupal_realpath($uri)));
+    }
+    $matched = preg_match('%(.*public://.*)%i', $stylesheet_content, $matches);
+    $this->assertFalse($matched == 1, 'Make sure the color paths have been translated to local paths. (' . $theme . ')');
+    variable_set('preprocess_css', 0);
   }
 }
