diff --git a/git-count-objects.sh b/git-count-objects.sh
index 843d2fd9f2e..fc61a1a987d 100755
--- a/git-count-objects.sh
+++ b/git-count-objects.sh
@@ -1,6 +1,24 @@
 #!/bin/sh
+#
+# Copyright (c) 2005 Junio C Hamano
+#
 
-. git-sh-setup
+. git-sh-setup || die "Not a git repository"
+
+dc </dev/null 2>/dev/null || {
+	# This is not a real DC at all -- it just knows how
+	# this script feeds DC and does the computation itself.
+	dc () {
+		while read a b
+		do
+			case $a,$b in
+			0,)	acc=0 ;;
+			*,+)	acc=$(($acc + $a)) ;;
+			p,)	echo "$acc" ;;
+			esac
+		done
+	}
+}
 
 echo $(find "$GIT_DIR/objects"/?? -type f -print 2>/dev/null | wc -l) objects, \
 $({