diff --git a/git-rebase.sh b/git-rebase.sh
index 0f5f5fb206..5e3c42cb11 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -469,7 +469,7 @@ case "$onto_name" in
 	;;
 *)
 	onto=$(git rev-parse --verify "${onto_name}^0") ||
-	die "Does not point to a valid commit: $1"
+	die "Does not point to a valid commit: $onto_name"
 	;;
 esac
 
diff --git a/t/t3406-rebase-message.sh b/t/t3406-rebase-message.sh
index fe5f936988..6898377910 100755
--- a/t/t3406-rebase-message.sh
+++ b/t/t3406-rebase-message.sh
@@ -62,4 +62,9 @@ test_expect_success 'rebase -n overrides config rebase.stat config' '
         ! grep "^ fileX |  *1 +$" diffstat.txt
 '
 
+test_expect_success 'rebase --onto outputs the invalid ref' '
+	test_must_fail git rebase --onto invalid-ref HEAD HEAD 2>err &&
+	grep "invalid-ref" err
+'
+
 test_done