diff --git a/keyserver/src/database/migration-config.js b/keyserver/src/database/migration-config.js
--- a/keyserver/src/database/migration-config.js
+++ b/keyserver/src/database/migration-config.js
@@ -381,6 +381,29 @@
       );
     },
   ],
+  [
+    34,
+    async () => {
+      await dbQuery(
+        SQL`
+          CREATE TABLE IF NOT EXISTS olm_accounts (
+            is_content tinyint(1) NOT NULL,
+            version bigint(20) NOT NULL,
+            pickling_key text 
+              CHARACTER SET latin1 
+              COLLATE latin1_bin NOT NULL,
+            pickled_olm_account text 
+              CHARACTER SET latin1 
+              COLLATE latin1_bin NOT NULL
+          ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_bin;
+
+          ALTER TABLE olm_accounts
+            ADD PRIMARY KEY (is_content);
+        `,
+        { multipleStatements: true },
+      );
+    },
+  ],
 ]);
 const newDatabaseVersion: number = Math.max(...migrations.keys());
 
diff --git a/keyserver/src/database/setup-db.js b/keyserver/src/database/setup-db.js
--- a/keyserver/src/database/setup-db.js
+++ b/keyserver/src/database/setup-db.js
@@ -269,6 +269,17 @@
           COLLATE latin1_bin NOT NULL
       ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_bin;
 
+      CREATE TABLE olm_accounts (
+        is_content tinyint(1) NOT NULL,
+        version bigint(20) NOT NULL,
+        pickling_key text 
+          CHARACTER SET latin1 
+          COLLATE latin1_bin NOT NULL,
+        pickled_olm_account text 
+          CHARACTER SET latin1 
+          COLLATE latin1_bin NOT NULL
+      ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_bin;
+
       ALTER TABLE cookies
         ADD PRIMARY KEY (id),
         ADD UNIQUE KEY device_token (device_token(512)),
@@ -396,6 +407,9 @@
 
       ALTER TABLE olm_sessions
         ADD PRIMARY KEY (cookie_id, is_content);
+       
+      ALTER TABLE olm_accounts
+        ADD PRIMARY KEY (is_content);
     `,
     { multipleStatements: true },
   );