diff --git a/src/interfaces/ecpg/ecpglib/misc.c b/src/interfaces/ecpg/ecpglib/misc.c
index 20725e4..d17007f 100644
*** a/src/interfaces/ecpg/ecpglib/misc.c
--- b/src/interfaces/ecpg/ecpglib/misc.c
*************** ECPGtrans(int lineno, const char *connec
*** 219,228 ****
  			return FALSE;
  		PQclear(res);
  
! 		if (strncmp(transaction, "commit", 6) == 0 || strncmp(transaction, "rollback", 8) == 0)
! 			con->committed = true;
! 		else
! 			con->committed = false;
  	}
  
  	return true;
--- 219,225 ----
  			return FALSE;
  		PQclear(res);
  
! 		con->committed = (PQtransactionStatus(con->connection) == PQTRANS_IDLE);
  	}
  
  	return true;
