diff --git a/synapse/storage/schema/delta/30/as_users.py b/synapse/storage/schema/delta/30/as_users.py
index 4cf4dd09173014f16891a0f16fde8e7bb83481df..4da3c59de21ef4b9a13027735b1d8f8ea16d2096 100644
--- a/synapse/storage/schema/delta/30/as_users.py
+++ b/synapse/storage/schema/delta/30/as_users.py
@@ -20,7 +20,11 @@ logger = logging.getLogger(__name__)
 
 def run_upgrade(cur, database_engine, config, *args, **kwargs):
     # NULL indicates user was not registered by an appservice.
-    cur.execute("ALTER TABLE users ADD COLUMN appservice_id TEXT")
+    try:
+        cur.execute("ALTER TABLE users ADD COLUMN appservice_id TEXT")
+    except:
+        # Maybe we already added the column? Hope so...
+        pass
 
     cur.execute("SELECT name FROM users")
     rows = cur.fetchall()