diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml
index cd08c1e7c9f756728e30525aea4b0a67c0d0f6b0..e2d2185afacfaa7f99517ee36d36344b6447dada 100644
--- a/.github/workflows/integration-tests.yml
+++ b/.github/workflows/integration-tests.yml
@@ -20,9 +20,9 @@ jobs:
       - name: Pull additional Docker images
         run: |
           docker pull angelocapossele/drand:latest
-          docker pull gaiaadm/pumba:latest
+          docker pull gaiaadm/pumba:0.7.2
           docker pull gaiadocker/iproute2:latest
-        
+
       - name: Run integration tests
         run: docker-compose -f tools/integration-tests/tester/docker-compose.yml up --abort-on-container-exit --exit-code-from tester --build
 
@@ -55,7 +55,41 @@ jobs:
       - name: Pull additional Docker images
         run: |
           docker pull angelocapossele/drand:latest
-          docker pull gaiaadm/pumba:latest
+          docker pull gaiaadm/pumba:0.7.2
+          docker pull gaiadocker/iproute2:latest
+
+      - name: Run integration tests
+        run: docker-compose -f tools/integration-tests/tester/docker-compose.yml up --abort-on-container-exit --exit-code-from tester --build
+
+      - name: Create logs from tester
+        if: always()
+        run: |
+          docker logs tester &> tools/integration-tests/logs/tester.log
+
+      - name: Save logs as artifacts
+        if: always()
+        uses: actions/upload-artifact@v1
+        with:
+          name: ${{ env.TEST_NAME }}
+          path: tools/integration-tests/logs
+
+  consensus:
+    name: consensus
+    env:
+      TEST_NAME: consensus
+    runs-on: ubuntu-latest
+    steps:
+
+      - name: Check out code
+        uses: actions/checkout@v2
+
+      - name: Build GoShimmer image
+        run: docker build -t iotaledger/goshimmer .
+
+      - name: Pull additional Docker images
+        run: |
+          docker pull angelocapossele/drand:latest
+          docker pull gaiaadm/pumba:0.7.2
           docker pull gaiadocker/iproute2:latest
 
       - name: Run integration tests
@@ -90,7 +124,7 @@ jobs:
       - name: Pull additional Docker images
         run: |
           docker pull angelocapossele/drand:latest
-          docker pull gaiaadm/pumba:latest
+          docker pull gaiaadm/pumba:0.7.2
           docker pull gaiadocker/iproute2:latest
 
       - name: Run integration tests
@@ -126,7 +160,7 @@ jobs:
       - name: Pull additional Docker images
         run: |
           docker pull angelocapossele/drand:latest
-          docker pull gaiaadm/pumba:latest
+          docker pull gaiaadm/pumba:0.7.2
           docker pull gaiadocker/iproute2:latest
 
       - name: Run integration tests
@@ -161,7 +195,7 @@ jobs:
       - name: Pull additional Docker images
         run: |
           docker pull angelocapossele/drand:latest
-          docker pull gaiaadm/pumba:latest
+          docker pull gaiaadm/pumba:0.7.2
           docker pull gaiadocker/iproute2:latest
 
       - name: Run integration tests
diff --git a/dapps/valuetransfers/dapp.go b/dapps/valuetransfers/dapp.go
index 45d8ad1a7acfbd57dc4814cdd4126ccdb565cef9..ac216f5bc60de58f3813575eeb7d70e2c09cb90d 100644
--- a/dapps/valuetransfers/dapp.go
+++ b/dapps/valuetransfers/dapp.go
@@ -5,6 +5,8 @@ import (
 	"sync"
 	"time"
 
+	flag "github.com/spf13/pflag"
+
 	"github.com/iotaledger/goshimmer/dapps/valuetransfers/packages/consensus"
 	"github.com/iotaledger/goshimmer/dapps/valuetransfers/packages/payload"
 	valuepayload "github.com/iotaledger/goshimmer/dapps/valuetransfers/packages/payload"
diff --git a/dapps/valuetransfers/packages/tangle/tangle.go b/dapps/valuetransfers/packages/tangle/tangle.go
index cdd0c16c6206af4b113d4874b5634ae4a966be7e..c04b0974ecc1b3419518007906291a066ad73641 100644
--- a/dapps/valuetransfers/packages/tangle/tangle.go
+++ b/dapps/valuetransfers/packages/tangle/tangle.go
@@ -234,7 +234,7 @@ func (tangle *Tangle) Fork(transactionID transaction.ID, conflictingInputs []tra
 	}
 
 	// trigger events + set result
-	tangle.Events.Fork.Trigger(cachedTransaction, cachedTransactionMetadata)
+	tangle.Events.Fork.Trigger(cachedTransaction, cachedTransactionMetadata, cachedTargetBranch, conflictingInputs)
 	forked = true
 
 	return
@@ -1907,4 +1907,4 @@ func (stackEntry *valuePayloadPropagationStackEntry) Unwrap() (payload *payload.
 	transactionMetadata = stackEntry.CachedTransactionMetadata.Unwrap()
 
 	return
-}
\ No newline at end of file
+}
diff --git a/dapps/valuetransfers/packages/tangle/tangle_test.go b/dapps/valuetransfers/packages/tangle/tangle_test.go
index 598a25c473cb68698f061a2cc90bb2e2018c2f56..8f5c8d26c46ebfd34206e925cfae33883a725ad9 100644
--- a/dapps/valuetransfers/packages/tangle/tangle_test.go
+++ b/dapps/valuetransfers/packages/tangle/tangle_test.go
@@ -1518,4 +1518,4 @@ func createDummyTransaction() *transaction.Transaction {
 			},
 		}),
 	)
-}
\ No newline at end of file
+}
diff --git a/tools/integration-tests/tester/go.mod b/tools/integration-tests/tester/go.mod
index fb23805656004ff35923f67605f823ac705c6c07..bc7188a199c720fd820117d96e5db574229a1034 100644
--- a/tools/integration-tests/tester/go.mod
+++ b/tools/integration-tests/tester/go.mod
@@ -12,6 +12,7 @@ require (
 	github.com/iotaledger/goshimmer v0.1.3
 	github.com/iotaledger/hive.go v0.0.0-20200610104211-d603429af242
 	github.com/mr-tron/base58 v1.1.3
+	github.com/opencontainers/go-digest v1.0.0 // indirect
 	github.com/stretchr/testify v1.6.1
 )
 
diff --git a/tools/integration-tests/tester/go.sum b/tools/integration-tests/tester/go.sum
index 8d1d03b6fd96ca2ba969cd7d6285a4dbb9ad53d1..e26c830f613da1b5962bb4d20b1935439bcad74b 100644
--- a/tools/integration-tests/tester/go.sum
+++ b/tools/integration-tests/tester/go.sum
@@ -121,6 +121,7 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw
 github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
 github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
 github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
 github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8=
diff --git a/tools/integration-tests/tester/tests/consensus/consensus_conflicts_test.go b/tools/integration-tests/tester/tests/consensus/consensus_conflicts_test.go
index e0ebf25abb19b226d1fee692ad7dd4d30e8c2dff..46fbc4cacde20637fd9ef384912a6dd7fd0d115c 100644
--- a/tools/integration-tests/tester/tests/consensus/consensus_conflicts_test.go
+++ b/tools/integration-tests/tester/tests/consensus/consensus_conflicts_test.go
@@ -1,11 +1,12 @@
 package consensus
 
 import (
-	"github.com/iotaledger/goshimmer/tools/integration-tests/tester/framework"
 	"log"
 	"testing"
 	"time"
 
+	"github.com/iotaledger/goshimmer/tools/integration-tests/tester/framework"
+
 	"github.com/iotaledger/goshimmer/dapps/valuetransfers/packages/address"
 	"github.com/iotaledger/goshimmer/dapps/valuetransfers/packages/address/signaturescheme"
 	"github.com/iotaledger/goshimmer/dapps/valuetransfers/packages/balance"
@@ -24,9 +25,17 @@ import (
 func TestConsensusFiftyFiftyOpinionSplit(t *testing.T) {
 
 	// override avg. network delay to accustom integration test slowness
+	backupFCoBAvgNetworkDelay := framework.ParaFCoBAverageNetworkDelay
+	backupBootstrapOnEveryNode := framework.ParaBootstrapOnEveryNode
 	framework.ParaFCoBAverageNetworkDelay = 90
 	framework.ParaBootstrapOnEveryNode = true
 
+	// reset framework paras
+	defer func() {
+		framework.ParaFCoBAverageNetworkDelay = backupFCoBAvgNetworkDelay
+		framework.ParaBootstrapOnEveryNode = backupBootstrapOnEveryNode
+	}()
+
 	// create two partitions with their own peers
 	n, err := f.CreateNetworkWithPartitions("abc", 6, 2, 2)
 	require.NoError(t, err)
@@ -156,6 +165,7 @@ func TestConsensusFiftyFiftyOpinionSplit(t *testing.T) {
 	})
 
 	// wait until the voting has finalized
+	log.Println("waiting for voting/transaction finalization to be done on all peers...")
 	awaitFinalization := map[string]tests.ExpectedInclusionState{}
 	for _, conflictingTx := range conflictingTxs {
 		awaitFinalization[conflictingTx.ID().String()] = tests.ExpectedInclusionState{