diff --git a/deploy/jobs/jobs_contracts.go b/deploy/jobs/jobs_contracts.go
index 62c6c57c367d7cd64b2705e0d7c03926b166ef6d..38a7d2b1a49edd29d5767621eeb843aecab58c75 100644
--- a/deploy/jobs/jobs_contracts.go
+++ b/deploy/jobs/jobs_contracts.go
@@ -13,6 +13,7 @@ import (
 	compilers "github.com/hyperledger/burrow/deploy/compile"
 	"github.com/hyperledger/burrow/deploy/def"
 	"github.com/hyperledger/burrow/deploy/util"
+	"github.com/hyperledger/burrow/execution/errors"
 	"github.com/hyperledger/burrow/execution/evm/abi"
 	"github.com/hyperledger/burrow/txs/payload"
 	log "github.com/sirupsen/logrus"
@@ -390,6 +391,14 @@ func CallJob(call *def.Call, do *def.Packages) (string, []*abi.Variable, error)
 		return "", nil, err
 	}
 
+	if txe.Exception != nil && txe.Exception.ErrorCode() == errors.ErrorCodeExecutionReverted {
+		message, err := abi.UnpackRevert(txe.Result.Return)
+		if err != nil {
+			return "", nil, err
+		}
+		log.WithField("Revert Message", message).Error("transaction reverted")
+		return message, nil, txe.Exception.AsError()
+	}
 	var result string
 	log.Debug(txe.Result.Return)
 
diff --git a/tests/jobs_fixtures/expected-failure-revert/deploy.yaml b/tests/jobs_fixtures/expected-failure-revert/deploy.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..16246e094b9841f9f05d204aa5acffc364f3bfd7
--- /dev/null
+++ b/tests/jobs_fixtures/expected-failure-revert/deploy.yaml
@@ -0,0 +1,20 @@
+jobs:
+
+- name: deployRevert
+  deploy:
+      contract: revert.sol
+
+- name: doNotRevert
+  call:
+      destination: $deployRevert
+      function: RevertIf0
+      data:
+        - 1
+
+- name: doRevert
+  call:
+      destination: $deployRevert
+      function: RevertIf0
+      data:
+        - 0
+
diff --git a/tests/jobs_fixtures/expected-failure-revert/revert.sol b/tests/jobs_fixtures/expected-failure-revert/revert.sol
new file mode 100644
index 0000000000000000000000000000000000000000..f755adcb51f47615a355868afd833c53c902f06f
--- /dev/null
+++ b/tests/jobs_fixtures/expected-failure-revert/revert.sol
@@ -0,0 +1,10 @@
+pragma solidity ^0.4.16;
+
+contract Revert {
+    function RevertIf0(uint32 i) public pure
+    {
+        if (i == 0) {
+            revert("arbeidsongeschiktheidsverzekeringsmaatschappij");
+        }
+    }
+}