diff --git a/presburger.cabal b/presburger.cabal
--- a/presburger.cabal
+++ b/presburger.cabal
@@ -1,5 +1,5 @@
 Name:           presburger
-Version:        0.2
+Version:        0.3
 License:        BSD3
 License-file:   LICENSE
 Author:         Iavor S. Diatchki
diff --git a/src/Data/Integer/Presburger.hs b/src/Data/Integer/Presburger.hs
--- a/src/Data/Integer/Presburger.hs
+++ b/src/Data/Integer/Presburger.hs
@@ -371,7 +371,8 @@
     ) : [ let arg = b + var x
           in Ex ((x,d) : xs) (constr arg) (map (`normal` arg) ps1) | b <- bs ]
 
-  where (ps1,k,d,as_or_bs) = analyze_props x ps
+  where (ps1,k,d',as_or_bs) = analyze_props x ps
+        d = lcms (d' : map fst ds)
         constr t = if k == 1 then ds else (k,t) : ds
 
 
