diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c
index bb85b5e52a..49f27e416b 100644
--- a/src/backend/tcop/utility.c
+++ b/src/backend/tcop/utility.c
@@ -624,8 +624,13 @@ standard_ProcessUtility(PlannedStmt *pstmt,
 						if (!EndTransactionBlock(stmt->chain))
 						{
 							/* report unsuccessful commit in completionTag */
-							if (completionTag)
+							if (completionTag) {
 								strcpy(completionTag, "ROLLBACK");
+								ereport(ERROR,
+										(errcode(ERRCODE_IN_FAILED_SQL_TRANSACTION),
+												errmsg("current transaction failed, "
+														"rolling back")));
+							}
 						}
 						break;
 
@@ -633,8 +638,13 @@ standard_ProcessUtility(PlannedStmt *pstmt,
 						if (!PrepareTransactionBlock(stmt->gid))
 						{
 							/* report unsuccessful commit in completionTag */
-							if (completionTag)
+							if (completionTag) {
 								strcpy(completionTag, "ROLLBACK");
+								ereport(ERROR,
+										(errcode(ERRCODE_IN_FAILED_SQL_TRANSACTION),
+												errmsg("current transaction failed, "
+														"rolling back")));
+							}
 						}
 						break;
 
