diff --git a/.gitignore b/.gitignore
index 0c1d6c76242ada46f096d2e64e2be50ab381669d..5c34b5bbc4a50d5a652b6f0e9d8916a05fd97d3d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,5 @@
 run-with-tmp-session-bus.conf
 test/data
-ChangeLog
 *.pyc
 *.pyo
 .*.sw?
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000000000000000000000000000000000000..a8ccf8146307e58bdae5ab976b53d0df88ce94c1
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,2 @@
+In git versions of dbus-python, please use 'git-log' instead of referring to
+ChangeLog. A changelog is generated from the git history during 'make dist'.
diff --git a/Makefile.am b/Makefile.am
index f2d02323ce109b03a202b6257319ed643f7b9a1e..2e00f70244473fd55dd44940447c1f03fc15589a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -26,12 +26,13 @@ cross-test-client:
 
 # === Documentation ===
 
-ChangeLog: always-rebuild
-	@if test -d $(top_srcdir)/.git; then \
-		if git-log --stat > ChangeLog; then \
+dist-hook:
+	chmod u+w $(distdir)/ChangeLog
+	if test -d $(top_srcdir)/.git; then \
+		if git-log --stat > $(distdir)/ChangeLog; then \
 			: ; \
 		else \
-			git-log > Changelog || exit 1; \
+			git-log > $(distdir)/ChangeLog; \
 		fi; \
 	fi