diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -28,6 +28,8 @@
 Changes
 -------
 
+0.1.2 - More general fix to the space after 'new' keyword, for issue #8 & #9
+
 0.1.1 - Fixed problem with missing space after 'new' keyword, in issue #8.
 
 0.1.0 - Major update to work with language-javascript 0.5.1. All changes should be internal.
diff --git a/Text/Jasmine/Pretty.hs b/Text/Jasmine/Pretty.hs
--- a/Text/Jasmine/Pretty.hs
+++ b/Text/Jasmine/Pretty.hs
@@ -50,14 +50,17 @@
 -- Terminals
 rn (JSIdentifier s)        = text s
 rn (JSDecimal i)           = text i
+
+rn (JSLiteral "new")       = (text "new ")
 rn (JSLiteral l)           = (text l)
+
 rn (JSHexInteger i)        = (text $ show i) -- TODO: need to tweak this
 rn (JSStringLiteral s l)   = empty <> (char s) <> (text l) <> (char s)
 rn (JSRegEx s)             = (text s)
 
 -- Non Terminals
 rn (JSOperator x)          = renderJS x
-rn (JSExpression xs)       = rJS $ fixNew xs
+rn (JSExpression xs)       = rJS xs
 
 
 --rn (JSSourceElements xs)   = rJS (fixSourceElements $ map fixBlock xs)
@@ -67,17 +70,17 @@
 
 
 --rn (JSFunction s p xs)     = (text "function") <+> (renderJS s) <> (text "(") <> (rJS p) <> (text ")") <> (renderJS xs)
-rn (JSFunction _f s _lb p _rb x) = (text "function") <+> (renderJS s) <> (text "(") <> (rJS $ fixNew p) <> (text ")") <> (renderJS $ fixFnBlock x)
+rn (JSFunction _f s _lb p _rb x) = (text "function") <+> (renderJS s) <> (text "(") <> (rJS p) <> (text ")") <> (renderJS $ fixFnBlock x)
 
 -- rn (JSFunctionBody xs)     = (text "{") <> (rJS xs) <> (text "}")
 
 --rn (JSFunctionExpression [] p xs) = (text "function")             <> (text "(") <> (rJS p) <> (text ")") <> (renderJS xs)
 --rn (JSFunctionExpression  s p xs) = (text "function") <+> (rJS s) <> (text "(") <> (rJS p) <> (text ")") <> (renderJS xs)
-rn (JSFunctionExpression _f [] _lb p _rb x) = (text "function")             <> (text "(") <> (rJS $ fixNew p) <> (text ")") <> (renderJS $ fixFnBlock x)
-rn (JSFunctionExpression _f s  _lb p _rb x) = (text "function") <+> (rJS s) <> (text "(") <> (rJS $ fixNew p) <> (text ")") <> (renderJS $ fixFnBlock x)
+rn (JSFunctionExpression _f [] _lb p _rb x) = (text "function")             <> (text "(") <> (rJS p) <> (text ")") <> (renderJS $ fixFnBlock x)
+rn (JSFunctionExpression _f s  _lb p _rb x) = (text "function") <+> (rJS s) <> (text "(") <> (rJS p) <> (text ")") <> (renderJS $ fixFnBlock x)
 
 --rn (JSArguments xs ) = (text "(") <> (rJSList $ map fixLiterals xs) <> (text ")")
-rn (JSArguments _lb xs _rb) = (text "(") <> (rJS $ fixLiterals $ fixNew xs) <> (text ")")
+rn (JSArguments _lb xs _rb) = (text "(") <> (rJS $ fixLiterals xs) <> (text ")")
 
 rn (JSBlock lb xs rb)            = (rJS lb) <> (rJS xs) <> (rJS rb)
 
@@ -93,8 +96,8 @@
 
 
 
-rn (JSMemberDot xs _d y)          = (rJS $ fixLiterals $ fixNew xs) <> (text ".") <> (renderJS y)
-rn (JSMemberSquare xs _lb x _rb)  = (rJS $ fixLiterals $ fixNew xs) <> (text "[") <> (renderJS x) <> (text "]")
+rn (JSMemberDot xs _d y)          = (rJS $ fixLiterals xs) <> (text ".") <> (renderJS y)
+rn (JSMemberSquare xs _lb x _rb)  = (rJS $ fixLiterals xs) <> (text "[") <> (renderJS x) <> (text "]")
 rn (JSUnary l _s )                = text l
 rn (JSArrayLiteral _lb xs _rb)    = (text "[") <> (rJS xs) <> (text "]")
 
@@ -130,7 +133,7 @@
 rn (JSExpressionBinary o e1 _op e2) = (rJS e1) <> (text o) <> (rJS e2)
 rn (JSExpressionParen _lp e _rp)    = (char '(') <> (renderJS e) <> (char ')')
 rn (JSExpressionPostfix o e _op)    = (rJS e) <> (text o)
-rn (JSExpressionTernary c _q v1 _c v2) = (rJS $ fixNew c) <> (char '?') <> (rJS $ fixNew v1) <> (char ':') <> (rJS $ fixNew v2)
+rn (JSExpressionTernary c _q v1 _c v2) = (rJS c) <> (char '?') <> (rJS v1) <> (char ':') <> (rJS v2)
 rn (JSFinally _f b)                    = (text "finally") <> (renderJS $ fixFnBlock b)
 
 rn (JSFor _f _lb e1 _s1 e2 _s2 e3 _rb s) = (text "for") <> (char '(') <> (rJS e1) <> (char ';')
@@ -147,7 +150,7 @@
 
 rn (JSObjectLiteral _lb xs _rb)  = (text "{") <> (rJS xs) <> (text "}")
 rn (JSPropertyAccessor s n _lb1 ps _rb1 b) = (renderJS s) <+> (renderJS n) <> (char '(') <> (rJS ps) <> (text ")") <> (renderJS $ fixFnBlock b)
-rn (JSPropertyNameandValue n _c vs) = (renderJS n) <> (text ":") <> (rJS $ fixNew vs)
+rn (JSPropertyNameandValue n _c vs) = (renderJS n) <> (text ":") <> (rJS vs)
 
 rn (JSReturn _r []                         _as) = (text "return")
 rn (JSReturn _r [(NT (JSLiteral ";") _ _)] _as) = (text "return;++foobar+will_never_happen++") -- ++AZ++ get rid of this
@@ -160,7 +163,7 @@
 rn (JSTry _t e xs)               = (text "try") <> (renderJS $ fixFnBlock e) <> (rJS xs)
 
 rn (JSVarDecl i [])              = (renderJS i)
-rn (JSVarDecl i xs)              = (renderJS i) <> (rJS $ fixNew xs)
+rn (JSVarDecl i xs)              = (renderJS i) <> (rJS xs)
 
 rn (JSVariables kw xs _as)       = (renderJS kw) <+> (rJS xs)
 
@@ -209,16 +212,18 @@
   where
     n = extractNode $ last xs
 
+{-
 -- The "new" literal always need a space after it
 fixNew :: [JSNode] -> [JSNode]
 fixNew []                               = []
 fixNew ((NT (JSLiteral "new") p cs):xs) = (NT (JSLiteral "new ") p cs) : fixNew xs
 fixNew (x                          :xs) = x                            : fixNew xs
+-}
 
 -- Fix semicolons in output of sourceelements and statementlist
 
 fixSourceElements :: [JSNode] -> [JSNode]
-fixSourceElements xs = fixSemis $ myFix $ fixNew xs
+fixSourceElements xs = fixSemis $ myFix xs
 
 myFix :: [JSNode] -> [JSNode]
 myFix []      = []
diff --git a/hjsmin.cabal b/hjsmin.cabal
--- a/hjsmin.cabal
+++ b/hjsmin.cabal
@@ -1,5 +1,5 @@
 name:            hjsmin
-version:         0.1.1
+version:         0.1.2
 license:         BSD3
 license-file:    LICENSE
 author:          Alan Zimmerman <alan.zimm@gmail.com>
diff --git a/runtests.hs b/runtests.hs
--- a/runtests.hs
+++ b/runtests.hs
@@ -41,6 +41,7 @@
     , testCase "If3"              caseIf3
     , testCase "BootstrapDropdown" caseBootstrapDropdown
     , testCase "Issue8"           caseIssue8
+    , testCase "Issue9"           caseIssue9
     ]
 
 testSuiteMin :: Test
@@ -68,6 +69,7 @@
     , testCase "MinIf3"           caseMinIf3
     , testCase "MinBootstrapDropdown" caseMinBootstrapDropdown
     , testCase "MinIssue8"        caseMinIssue8
+    , testCase "MinIssue9"        caseMinIssue9
 
     ]
 
@@ -305,7 +307,6 @@
   "Right (JSSourceElementsTop [JSExpression [JSIdentifier \"clearMenus\",JSArguments []],JSExpression [JSExpressionBinary \"&&\" [JSUnary \"!\",JSIdentifier \"isActive\"] [JSMemberDot [JSIdentifier \"$parent\"] (JSIdentifier \"toggleClass\"),JSArguments [JSStringLiteral '\\'' \"open\"]]],JSLiteral \"\"])"
   @=? (showStrippedMaybe $ parseProgram srcBootstrapDropdown)
 caseMinBootstrapDropdown =
-  -- Note: jsmin preserves the \n, rather than the semi. A matter of taste, it is the same number of chars.
   testMinify "clearMenus();!isActive&&$parent.toggleClass('open')" srcBootstrapDropdown
 
 
@@ -314,8 +315,14 @@
   "Right (JSSourceElementsTop [JSExpression [JSExpressionParen (JSExpression [JSFunctionExpression [] [] (JSBlock ([JSExpression [JSMemberDot [JSLiteral \"new\",JSIdentifier \"nicEditor\",JSArguments [JSObjectLiteral [JSPropertyNameandValue (JSIdentifier \"fullPanel\") [JSLiteral \"true\"]]]] (JSIdentifier \"panelInstance\"),JSArguments [JSStringLiteral '\\'' \"h4\"]]]))]),JSArguments []],JSLiteral \";\",JSLiteral \"\"])"
   @=? (showStrippedMaybe $ parseProgram srcIssue8)
 caseMinIssue8 =
-  -- Note: jsmin preserves the \n, rather than the semi. A matter of taste, it is the same number of chars.
   testMinify "(function(){new nicEditor({fullPanel:true}).panelInstance('h4')})()" srcIssue8
+
+srcIssue9 = "var x = [new friend(5)];"
+caseIssue9 =
+  "Right (JSSourceElementsTop [JSVariables JSLiteral \"var\" [JSVarDecl (JSIdentifier \"x\") [JSLiteral \"=\",JSArrayLiteral [JSLiteral \"new\",JSIdentifier \"friend\",JSArguments [JSDecimal \"5\"]]]],JSLiteral \"\"])"
+  @=? (showStrippedMaybe $ parseProgram srcIssue9)
+caseMinIssue9 =
+  testMinify "var x=[new friend(5)]" srcIssue9
 
 -- ---------------------------------------------------------------------
 -- utilities
