diff --git a/libbacktrace/ChangeLog b/libbacktrace/ChangeLog
index f04f1d5dd0ddf144d73915618ca0852a213007cc..91e1c9eccd4272e6024793db75935077b573da91 100644
--- a/libbacktrace/ChangeLog
+++ b/libbacktrace/ChangeLog
@@ -1,3 +1,8 @@
+2012-10-29  Ian Lance Taylor  <iant@google.com>
+
+	* mmap.c (backtrace_vector_release): Correct last patch: add
+	aligned, not size.
+
 2012-10-29  Ian Lance Taylor  <iant@google.com>
 
 	* mmap.c (backtrace_vector_release): Make sure freed block is
diff --git a/libbacktrace/mmap.c b/libbacktrace/mmap.c
index 25fdc21a9f7e32f36a3c74c1cea3ba5b578ec2bf..d3313c7cf1eced504545a15c8106f3e58108f281 100644
--- a/libbacktrace/mmap.c
+++ b/libbacktrace/mmap.c
@@ -240,7 +240,8 @@ backtrace_vector_release (struct backtrace_state *state,
   aligned = (size + 7) & ~ (size_t) 7;
   alc -= aligned - size;
 
-  backtrace_free (state, (char *) vec->base + size, alc, error_callback, data);
+  backtrace_free (state, (char *) vec->base + aligned, alc,
+		  error_callback, data);
   vec->alc = 0;
   return 1;
 }