diff --git a/src/PaymentServer/Persistence.hs b/src/PaymentServer/Persistence.hs
index 8ec3753e0556cadf445eb7847fbd78d861b8a710..8e0b25eca7370f1adc1efac142065510a1befb57 100644
--- a/src/PaymentServer/Persistence.hs
+++ b/src/PaymentServer/Persistence.hs
@@ -467,13 +467,16 @@ upgradeSchema targetVersion conn = do
   errOrCurrentVersion <- readVersion conn
   case errOrCurrentVersion of
     Left err -> return $ Left err
-    Right currentVersion ->
+    Right currentVersion -> perhapsUpgrade targetVersion currentVersion
+
+  where
+    perhapsUpgrade :: Int -> Int -> IO (Either UpgradeError ())
+    perhapsUpgrade targetVersion currentVersion =
       case compareVersion targetVersion currentVersion of
         Lesser -> return $ Left DatabaseSchemaTooNew
         Equal -> return $ Right ()
         Greater -> runUpgrades currentVersion targetVersion
 
-  where
     runUpgrades :: Int -> Int -> IO (Either UpgradeError ())
     runUpgrades currentVersion targetVersion =
       let