diff --git a/jespresso.cabal b/jespresso.cabal
--- a/jespresso.cabal
+++ b/jespresso.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                jespresso
-version:             1.0.1.1
+version:             1.0.2
 synopsis:            Extract all JavaScript from an HTML page and consolidate it in one script.
 description:         Allows extraction and consolidation of JavaScript code in an HTML page so that it behaves like the original. Consolidation is a process of transforming an HTML page into an equivalent, but containing JavaScript code only in one inlined script tag. Note that the package versions follow Semantic Versioning model (semver.org).
 license:             BSD3
@@ -26,7 +26,7 @@
 Source-repository this
    type: git
    location: git://github.com/achudnov/jespresso.git
-   tag: 1.0.1.1
+   tag: 1.0.2
 
 library
   build-depends: base >= 4.2.0 && < 5
diff --git a/src/Text/Html/Consolidate.hs b/src/Text/Html/Consolidate.hs
--- a/src/Text/Html/Consolidate.hs
+++ b/src/Text/Html/Consolidate.hs
@@ -323,7 +323,7 @@
 -- constructors
 -- | Constructs a new JavaScript element
 scriptElement :: ArrowXml ar => ar (JavaScript a) XmlTree
-scriptElement = mkElement (mkName "script") (sattr "type" "text/javascript") $< arr (txt . show . prettyPrint)
+scriptElement = (mkElement (mkName "script") (sattr "type" "text/javascript") $< arr (txt . show . prettyPrint)) >>> addAttr "defer" ""
 
 -- Selectors
 -- | A selector for SCRIPT tags with JavaScript or empty type
diff --git a/test-data/expects/complex1.html b/test-data/expects/complex1.html
--- a/test-data/expects/complex1.html
+++ b/test-data/expects/complex1.html
@@ -35,7 +35,7 @@
     </div>
     <iframe id="payment_frame">
     </iframe>
-    <script type="text/javascript">
+    <script type="text/javascript" defer="">
      document.getElementById("cart_form").addEventListener("submit", function () {onCartUpdate();}, false);
      var key = 42;
      window.onmessage = function (e) {
diff --git a/test-data/expects/form1.html b/test-data/expects/form1.html
--- a/test-data/expects/form1.html
+++ b/test-data/expects/form1.html
@@ -3,6 +3,6 @@
         <form id="f1">
 	   <input type="submit" value="OK"/>
         </form>
-    <script type="text/javascript">document.getElementById("f1").addEventListener("submit", function () {alert("submit");}, false);</script>
+    <script type="text/javascript" defer="">document.getElementById("f1").addEventListener("submit", function () {alert("submit");}, false);</script>
 </body>
 </html>
diff --git a/test-data/expects/iframe1.html b/test-data/expects/iframe1.html
--- a/test-data/expects/iframe1.html
+++ b/test-data/expects/iframe1.html
@@ -4,6 +4,6 @@
             <iframe>
             </iframe>
         </div>
-	<script type="text/javascript"></script>
+	<script type="text/javascript" defer=""></script>
     </body>
 </html>
diff --git a/test-data/expects/scriptSimple1.html b/test-data/expects/scriptSimple1.html
--- a/test-data/expects/scriptSimple1.html
+++ b/test-data/expects/scriptSimple1.html
@@ -7,7 +7,7 @@
       <!--Removed Inline Script-->
       <!--Removed Inline Script-->
       <span>Test</span>
-      <script type="text/javascript">
+      <script type="text/javascript" defer="">
 	foo(bar);
         bar = baz;
       </script>
diff --git a/test-data/expects/trivial.html b/test-data/expects/trivial.html
--- a/test-data/expects/trivial.html
+++ b/test-data/expects/trivial.html
@@ -2,6 +2,6 @@
     <head>
     </head>
     <body>
-      <script type="text/javascript"></script>
+      <script type="text/javascript" defer=""></script>
     </body>
 </html>
