diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh
index e9391abb54..a578b35761 100755
--- a/t/t7800-difftool.sh
+++ b/t/t7800-difftool.sh
@@ -730,25 +730,15 @@ test_expect_success 'add -N and difftool -d' '
 
 test_expect_success 'difftool --cached with unmerged files' '
 	test_when_finished git reset --hard &&
-	echo base >file &&
-	git add file &&
-	git commit -m base &&
-	git checkout -B conflict-a &&
-	git checkout -B conflict-b &&
-	git checkout conflict-a &&
-	echo conflict-a >>file &&
-	git add file &&
-	git commit -m conflict-a &&
-	git checkout conflict-b &&
-	echo conflict-b >>file &&
-	git add file &&
-	git commit -m conflict-b &&
-	git checkout master &&
-	git merge conflict-a &&
-	test_must_fail git merge conflict-b &&
-	: >expect &&
-	git difftool --cached --no-prompt >actual &&
-	test_cmp expect actual
+
+	test_commit conflicting &&
+	test_commit conflict-a conflict.t a &&
+	git reset --hard conflicting &&
+	test_commit conflict-b conflict.t b &&
+	test_must_fail git merge conflict-a &&
+
+	git difftool --cached --no-prompt >output &&
+	test_must_be_empty output
 '
 
 test_expect_success 'outside worktree' '