diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+* 0.9.9 (2016-01-25)
+- couple of minor improvements for SUSE packaging
+
 * 0.9.8 (2015-10-08)
 - better %license logic
 - fix handling of versions without '.'
diff --git a/cabal-rpm.cabal b/cabal-rpm.cabal
--- a/cabal-rpm.cabal
+++ b/cabal-rpm.cabal
@@ -1,5 +1,5 @@
 Name:                cabal-rpm
-Version:             0.9.8
+Version:             0.9.9
 Synopsis:            RPM packaging tool for Haskell Cabal-based packages
 Description:
     This package provides a RPM packaging tool for Haskell Cabal-based packages.
@@ -17,7 +17,7 @@
 Author:              Jens Petersen <juhp@community.haskell.org>, Bryan O'Sullivan <bos@serpentine.com>
 Maintainer:          Jens Petersen <petersen@fedoraproject.org>
 Copyright:           2007-2008 Bryan O'Sullivan <bos@serpentine.com>,
-                     2012-2015 Jens Petersen <petersen@fedoraproject.org>
+                     2012-2016 Jens Petersen <petersen@fedoraproject.org>
 Category:            Distribution
 Build-type:          Simple
 Extra-source-files:  README.md ChangeLog man/cblrpm.1.md man/cblrpm.1
diff --git a/src/Commands/Spec.hs b/src/Commands/Spec.hs
--- a/src/Commands/Spec.hs
+++ b/src/Commands/Spec.hs
@@ -3,7 +3,7 @@
 -- |
 -- Module      :  Commands.Spec
 -- Copyright   :  (C) 2007-2008  Bryan O'Sullivan
---                (C) 2012-2015  Jens Petersen
+--                (C) 2012-2016  Jens Petersen
 --
 -- Maintainer  :  Jens Petersen <petersen@fedoraproject.org>
 -- Stability   :  alpha
@@ -32,7 +32,7 @@
 import Data.List        (groupBy, intercalate, isPrefixOf, isSuffixOf,
                          sort, (\\))
 import Data.Maybe       (fromMaybe)
-import Data.Time.Clock  (UTCTime, getCurrentTime)
+import Data.Time.Clock  (getCurrentTime)
 import Data.Time.Format (formatTime)
 import Data.Version     (showVersion)
 
@@ -58,13 +58,15 @@
 import qualified Paths_cabal_rpm (version)
 
 
-defaultRelease :: FilePath -> UTCTime -> IO String
-defaultRelease cabalPath now = do
+defaultRelease :: FilePath -> Distro -> IO String
+defaultRelease cabalPath distro = do
   let pkgDir = takeDirectory cabalPath
   scmRepo <- isScmDir pkgDir
-  return $ if scmRepo
-           then formatTime defaultTimeLocale "0.%Y%m%d" now
-           else "1"
+  if scmRepo
+    then do
+    now <- getCurrentTime
+    return $ formatTime defaultTimeLocale "0.%Y%m%d" now
+    else return $ if (distro == SUSE) then "0" else "1"
 
 rstrip :: (Char -> Bool) -> String -> String
 rstrip p = reverse . dropWhile p . reverse
@@ -80,15 +82,11 @@
       verbose = rpmVerbosity flags
       hasExec = hasExes pkgDesc
       hasLib = hasLibs pkgDesc
-  now <- getCurrentTime
-  defRelease <- defaultRelease cabalPath now
   (pkgname, binlib) <- getPkgName mspec pkgDesc (rpmBinary flags)
   let pkg_name = if pkgname == name then "%{name}" else "%{pkg_name}"
       basename | binlib = "%{pkg_name}"
                | hasExecPkg = name
                | otherwise = "ghc-%{pkg_name}"
-      version = packageVersion pkg
-      release = fromMaybe defRelease (rpmRelease flags)
       specFile = fromMaybe "" mdest </> pkgname ++ ".spec"
       hasExecPkg = binlib || (hasExec && not hasLib)
   -- run commands before opening file to prevent empty file on error
@@ -119,6 +117,7 @@
   if distro /= SUSE
     then put "# https://fedoraproject.org/wiki/Packaging:Haskell"
     else do
+    now <- getCurrentTime
     let year = formatTime defaultTimeLocale "%Y" now
     put "#"
     put $ "# spec file for package " ++ pkgname
@@ -178,6 +177,9 @@
   --   putDef "debug_package" "%{nil}"
   --   putNewline
 
+  defRelease <- defaultRelease cabalPath distro
+  let version = packageVersion pkg
+      release = fromMaybe defRelease (rpmRelease flags)
   putHdr "Name" (if binlib then "%{pkg_name}" else basename)
   putHdr "Version" version
   putHdr "Release" $ release ++ (if distro == SUSE then [] else "%{?dist}")
@@ -205,7 +207,8 @@
   unless (null $ alldeps ++ extraTestDeps) $ do
     put "# Begin cabal-rpm deps:"
     mapM_ (putHdr "BuildRequires") alldeps
-    when (any (\ d -> d `elem` map showDep ["template-haskell", "hamlet"]) deps) $
+    when (distro /= SUSE &&
+          any (\ d -> d `elem` map showDep ["template-haskell", "hamlet"]) deps) $
       putHdr "ExclusiveArch" "%{ghc_arches_with_ghci}"
     unless (null extraTestDeps) $ do
       put "%if %{with tests}"
@@ -349,6 +352,7 @@
 
   put "%changelog"
   unless (distro == SUSE) $ do
+    now <- getCurrentTime
     let date = formatTime defaultTimeLocale "%a %b %e %Y" now
     put $ "*" +-+ date +-+ "Fedora Haskell SIG <haskell@lists.fedoraproject.org> - " ++ version ++ "-" ++ release
     put $ "- spec file generated by cabal-rpm-" ++ showVersion Paths_cabal_rpm.version
diff --git a/src/Dependencies.hs b/src/Dependencies.hs
--- a/src/Dependencies.hs
+++ b/src/Dependencies.hs
@@ -1,6 +1,6 @@
 -- |
 -- Module      :  Dependencies
--- Copyright   :  (C) 2012-2015  Jens Petersen
+-- Copyright   :  (C) 2012-2016  Jens Petersen
 --
 -- Maintainer  :  Jens Petersen <petersen@fedoraproject.org>
 -- Stability   :  alpha
@@ -123,7 +123,7 @@
                 -> String           -- ^self
                 -> [String]         -- ^depends
 testsuiteDependencies pkgDesc self =
-  map showDep . delete self . filter excludedPkgs . nub . map depName $ concatMap targetBuildDepends $ map testBuildInfo $ testSuites pkgDesc
+  map showDep . delete self . filter excludedPkgs . nub . map depName $ concatMap (targetBuildDepends . testBuildInfo) (testSuites pkgDesc)
 
 missingPackages :: PackageDescription -> IO [String]
 missingPackages pkgDesc = do
