diff --git a/debian-build.cabal b/debian-build.cabal
--- a/debian-build.cabal
+++ b/debian-build.cabal
@@ -1,5 +1,5 @@
 name:                debian-build
-version:             0.5.0.1
+version:             0.5.0.2
 synopsis:            Debian package build sequence tools
 description:         This package provides build sequence functions
                      for debian package, and includes on-the-fly
diff --git a/src/Debian/Package/Data/Source.hs b/src/Debian/Package/Data/Source.hs
--- a/src/Debian/Package/Data/Source.hs
+++ b/src/Debian/Package/Data/Source.hs
@@ -23,10 +23,9 @@
        , haskellPackageDefault, haskellPackageFromPackage
        ) where
 
-import Control.Arrow (second)
-import Control.Applicative ((<$>), pure, (<*>), (*>), empty, (<|>), many, some, optional)
+import Control.Applicative ((<$>), pure, (<*>), (*>), (<*), empty, (<|>), many, some, optional)
 import Control.Monad.Trans.State (StateT, runStateT, get, put)
-import Data.Maybe (listToMaybe, maybeToList)
+import Data.Maybe (listToMaybe, maybeToList, mapMaybe)
 import Data.Char (isSpace, isDigit)
 import Data.Version (Version (Version, versionBranch), showVersion)
 import Data.List.Split (splitOn)
@@ -48,14 +47,11 @@
             else  empty
     []   ->       empty
 
-char :: Char -> Parser Char
-char x = satisfy (== x)
-
 _look :: Parser String
 _look =  get
 
-_eof :: Parser ()
-_eof =  do
+eof :: Parser ()
+eof =  do
   s <- get
   case s of
     []   -> pure ()
@@ -64,14 +60,26 @@
 runParser :: Parser a -> String -> Maybe (a, String)
 runParser =  runStateT
 
+anyChar :: Parser Char
+anyChar =  satisfy (const True)
+
+char :: Char -> Parser Char
+char x = satisfy (== x)
+
+notChar :: Char -> Parser Char
+notChar x = satisfy (/= x)
+
+space :: Parser Char
+space =  char ' '
+
 digit :: Parser Char
 digit =  satisfy isDigit
 
 int :: Parser Int
 int =  read <$> some digit
 
-string' :: String -> Parser String
-string' =  mapM char
+string :: String -> Parser String
+string =  mapM char
 
 
 -- | Version type for Debian
@@ -110,16 +118,16 @@
   <$> ((:) <$> int <*> many (char '.' *> int))
   <*> pure []
 
-parseDebianVersion' :: Parser DebianVersion
-parseDebianVersion' = do
+parseDebianVersion :: Parser DebianVersion
+parseDebianVersion = do
   v <- parseVersion'
   (DebianNonNative v <$> (char '-' *> some (satisfy (not . isSpace)))
    <|>
-   DebianNative    v <$> optional (string' "+nmu" *> int))
+   DebianNative    v <$> optional (string "+nmu" *> int))
 
 _testParseDebianVersion :: [Maybe (DebianVersion, String)]
 _testParseDebianVersion =
-  [ runParser parseDebianVersion' s | s <- [ "1.23.3-4", "1.23", "12.3+nmu2" ] ]
+  [ runParser parseDebianVersion s | s <- [ "1.23.3-4", "1.23", "12.3+nmu2" ] ]
 
 instance Show DebianVersion where
   show = d  where
@@ -127,7 +135,7 @@
     d (DebianNonNative v r)  = showVersion v ++ '-': r
 
 instance Read DebianVersion where
-  readsPrec _ = maybeToList . runParser parseDebianVersion'
+  readsPrec _ = maybeToList . runParser parseDebianVersion
 
 readMaybe' :: Read a => String -> Maybe a
 readMaybe' =  fmap fst . listToMaybe . filter ((== "") . snd) . reads
@@ -175,6 +183,11 @@
 deriveHackageVersion :: Source -> HackageVersion
 deriveHackageVersion =  mkHackageVersion' . versionBranch . origVersion where
 
+parseLine :: String -> Maybe (String, String)
+parseLine =
+  (fmap fst .) . runParser $
+  (,) <$> some (notChar ':') <*> (char ':' *> many space *> many anyChar <* eof)
+
 -- | Try to generate 'Source' from debian changelog string
 parseChangeLog :: String       -- ^ dpkg-parsechangelog result string
                -> Maybe Source -- ^ Source structure
@@ -183,11 +196,11 @@
   dver <- mayDebVer
   return $ mkSource deb dver
   where
-    pairs = map (second tail . break (== ' ')) . lines $ log'
+    pairs = mapMaybe parseLine . lines $ log'
     lookup' = (`lookup` pairs)
-    mayDebSrc = lookup' "Source:"
+    mayDebSrc = lookup' "Source"
     mayDebVer = do
-      dverS <- lookup' "Version:"
+      dverS <- lookup' "Version"
       readDebianVersion dverS
 
 -- | Debian .changes file types
