diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index ff84e7b0ab63cf8956b18689cd665fbe353e8fb8..944c7fcea8760eacbfe70a54be425d40d9105f87 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -237,6 +237,7 @@ defmodule Pleroma.User do
       changeset
       |> put_change(:password_hash, hashed)
       |> put_change(:ap_id, ap_id)
+      |> unique_constraint(:ap_id)
       |> put_change(:following, [followers])
       |> put_change(:follower_address, followers)
     else