diff --git a/modules/account_asset/asset.py b/modules/account_asset/asset.py
index 39db924d3a..c3cc954294 100644
--- a/modules/account_asset/asset.py
+++ b/modules/account_asset/asset.py
@@ -948,6 +948,11 @@ class AssetRevision(ModelSQL, ModelView):
@classmethod
def __setup__(cls):
super().__setup__()
+ table = cls.__table__()
+ cls._sql_constraints += [
+ ('asset_origin_unique', Unique(table, table.asset, table.origin),
+ 'account_asset.msg_revision_asset_origin_unique'),
+ ]
cls.__access__.add('asset')
@fields.depends('asset', '_parent_asset.currency')
diff --git a/modules/account_asset/message.xml b/modules/account_asset/message.xml
index d588844f9a..1816424ac0 100644
--- a/modules/account_asset/message.xml
+++ b/modules/account_asset/message.xml
@@ -24,5 +24,8 @@ this repository contains the full copyright notices and license terms. -->
There is no started asset.
+
+ A revision origin can be used only once per asset.
+