diff --git a/includes/scripts.inc b/includes/scripts.inc
index cdb4728..86c4a4c 100644
--- a/includes/scripts.inc
+++ b/includes/scripts.inc
@@ -145,6 +145,9 @@ function aurora_get_js_old($scope = 'header', $javascript = NULL, $skip_alter =
         if ($item['defer']) {
           $js_element['#attributes']['defer'] = 'defer';
         }
+        if ($item['attributes']) {
+          $js_element['#attributes'] += $item['attributes'];
+        }
         $js_element['#value_prefix'] = $embed_prefix;
         $js_element['#value'] = $item['data'];
         $js_element['#value_suffix'] = $embed_suffix;
@@ -153,10 +156,13 @@ function aurora_get_js_old($scope = 'header', $javascript = NULL, $skip_alter =
 
       case 'file':
         $js_element = $element;
-        if (!$item['preprocess'] || !$preprocess_js) {
+        if (!$item['preprocess'] || !$preprocess_js || $item['defer'] || $item['attributes']) {
           if ($item['defer']) {
             $js_element['#attributes']['defer'] = 'defer';
           }
+          if ($item['attributes']) {
+            $js_element['#attributes'] += $item['attributes'];
+          }
           $query_string_separator = (strpos($item['data'], '?') !== FALSE) ? '&' : '?';
           $js_element['#attributes']['src'] = file_create_url($item['data']) . $query_string_separator . ($item['cache'] ? $query_string : REQUEST_TIME);
           $processed[$index++] = theme('html_tag', array('element' => $js_element));
@@ -181,6 +187,9 @@ function aurora_get_js_old($scope = 'header', $javascript = NULL, $skip_alter =
         if ($item['defer']) {
           $js_element['#attributes']['defer'] = 'defer';
         }
+        if ($item['attributes']) {
+          $js_element['#attributes'] += $item['attributes'];
+        }
         $js_element['#attributes']['src'] = $item['data'];
         $processed[$index++] = theme('html_tag', array('element' => $js_element));
         break;
