diff --git a/javascript_aggregator.module b/javascript_aggregator.module
index 3f6b802..e293e63 100644
--- a/javascript_aggregator.module
+++ b/javascript_aggregator.module
@@ -24,7 +24,7 @@ function javascript_aggregator_cache($scripts) {
       $exclude_pattern = '~'.implode("$|", $exclude_pattern).'$~';
     }
     // One regular expression to extract and remove .js paths and filenames from $scripts variable
-    $pattern = "!(<script type=\"text\/javascript\" src=\")(.*?)(\"(.*?)><\/script>)!";
+    $pattern = "!(<script type=\"text\/javascript\" src=\")([^\"\\?]*?)(\"(.*?)><\/script>)!";
     // Create an array $matches with pieces of $pattern found in $scripts
     preg_match_all($pattern, $scripts, $matches);
     // $matches[2] is where paths and filenames are stored
