diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c
index 52177759ab..c0eb8ea203 100644
--- a/src/backend/commands/trigger.c
+++ b/src/backend/commands/trigger.c
@@ -171,7 +171,10 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString,
 		CreateTriggerFiringOn(stmt, queryString, relOid, refRelOid,
 							  constraintOid, indexOid, funcoid,
 							  parentTriggerOid, whenClause, isInternal,
-							  in_partition, TRIGGER_FIRES_ON_ORIGIN);
+							  in_partition,
+							  OidIsValid(constraintOid) ?
+							  TRIGGER_FIRES_ALWAYS:
+							  TRIGGER_FIRES_ON_ORIGIN);
 }
 
 /*
