diff --git a/src/PaymentServer/Persistence.hs b/src/PaymentServer/Persistence.hs
index fb3cb5b63299a90fcdb11b56be9ef5934c9a774a..30091197c64b7be9ded8e9e2e8e5cc162e051d28 100644
--- a/src/PaymentServer/Persistence.hs
+++ b/src/PaymentServer/Persistence.hs
@@ -144,5 +144,5 @@ getVoucherFingerprint dbConn voucher = do
 getDBConnection :: Text -> IO ()
 getDBConnection name = do
   dbConn <- Sqlite.open name
-  Sqlite.execute_ dbConn "CREATE TABLE vouchers (id INTEGER PRIMARY KEY, name TEXT)"
-  Sqlite.execute_ dbConn "CREATE TABLE redeemed (id INTEGER PRIMARY KEY, voucher_id INTEGER, fingerprint TEXT, FOREIGN KEY (voucher_id) REFERENCES vouchers(id))"
+  Sqlite.execute_ dbConn "CREATE TABLE IF NOT EXISTS vouchers (id INTEGER PRIMARY KEY, name TEXT)"
+  Sqlite.execute_ dbConn "CREATE TABLE IF NOT EXISTS redeemed (id INTEGER PRIMARY KEY, voucher_id INTEGER, fingerprint TEXT, FOREIGN KEY (voucher_id) REFERENCES vouchers(id))"