diff --git a/src/MA/Parser/Lexer.hs b/src/MA/Parser/Lexer.hs
index 68ed11d8ac411b0b4537afcc00f325450645b78a..88553a7db5dcbc36fc0745f1eed7e7f3a9aa9abc 100644
--- a/src/MA/Parser/Lexer.hs
+++ b/src/MA/Parser/Lexer.hs
@@ -94,5 +94,5 @@ float = lexeme L.float
 {-# INLINE float #-}
 
 signed :: (MonadParser m, Num a) => m a -> m a
-signed = L.signed spaceConsumer
+signed p = option id (char '-' *> return negate) <*> p
 {-# INLINE signed #-}