diff --git a/dotenv.cabal b/dotenv.cabal
--- a/dotenv.cabal
+++ b/dotenv.cabal
@@ -1,5 +1,5 @@
 name:                dotenv
-version:             0.1.0.4
+version:             0.1.0.5
 synopsis:            Loads environment variables from dotenv files
 
 description:
diff --git a/src/Configuration/Dotenv/Parse.hs b/src/Configuration/Dotenv/Parse.hs
--- a/src/Configuration/Dotenv/Parse.hs
+++ b/src/Configuration/Dotenv/Parse.hs
@@ -31,16 +31,10 @@
 -- | Variables must start with a letter or underscore, and may contain
 -- letters, digits or '_' character after the first character.
 variableName :: Parser String
-variableName =
-  liftM2 (:)
-
-  (letter <|> char '_')
-
-  (many
-   (letter <|> char '_' <|> digit <?>
-    unwords
-    [ "valid non-leading shell variable character (alphanumeric, "
-    , "digit or underscore)" ]))
+variableName = liftM2 (:) (letter <|> char '_')
+  (many (letter <|> char '_' <|> digit <?>
+         unwords [ "valid non-leading shell variable character (alphanumeric,"
+                 , "digit or underscore)" ]))
 
   <?> unwords [ "shell variable name (letter or underscore followed"
               , "by alphanumeric characters or underscores)" ]
@@ -49,8 +43,9 @@
 value = quotedValue <|> unquotedValue <?> "variable value"
 
 quotedValue :: Parser String
-quotedValue = quotedWith '\'' <|> quotedWith '\"'
-              <?> "variable value surrounded with single or double quotes"
+quotedValue = (quotedWith '\'' <|> quotedWith '\"')
+  <* (comment *> return () <|> many verticalSpace *> endOfLineOrInput)
+  <?> "variable value surrounded with single or double quotes"
 
 unquotedValue :: Parser String
 unquotedValue =
