diff --git a/ChangeLog b/ChangeLog
index 2c1fde9445d2d18b8c8e69985f79c9810a787b17..fe61ad969b212ec6c8fcf7571738e8d7af39147e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2012-09-10  Niels Möller  <nisse@lysator.liu.se>
 
+	* examples/eratosthenes.c (main): Explicitly deallocate storage
+	before exit.
+
 	* examples/io.c (read_file): Explicitly treat an empty file as an
 	error. Rearrange loop, check for short fread return value.
 
diff --git a/examples/eratosthenes.c b/examples/eratosthenes.c
index 2b9d04fd5b13b3f904116a67284ce331dcac668a..966506aa01aa556348ff3b2c384e929219639c50 100644
--- a/examples/eratosthenes.c
+++ b/examples/eratosthenes.c
@@ -399,5 +399,9 @@ main (int argc, char **argv)
 	    printf("%lu\n", n);
 	}
     }
+
+  free(sieve);
+  free(block);
+
   return EXIT_SUCCESS;
 }