diff --git a/src/ChangeLog b/src/ChangeLog
index b3defda0..7ed11cb1 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2008-06-22  Steven Schubiger  <stsc@members.fsf.org>
+
+	* http.c: Explicitly initialize and deallocate the message
+	string used by the -nv --spider functionality.
+
 2008-06-22  Steven Schubiger  <schubiger@gmail.com>
 
 	* http.c: Make -nv --spider include the file's name when it
diff --git a/src/http.c b/src/http.c
index d17b5db1..f79b1e7a 100644
--- a/src/http.c
+++ b/src/http.c
@@ -1323,6 +1323,7 @@ free_hstat (struct http_stat *hs)
   xfree_null (hs->rderrmsg);
   xfree_null (hs->local_file);
   xfree_null (hs->orig_file_name);
+  xfree_null (hs->message);
 
   /* Guard against being called twice. */
   hs->newloc = NULL;
@@ -1442,6 +1443,7 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy)
   hs->newloc = NULL;
   hs->remote_time = NULL;
   hs->error = NULL;
+  hs->message = NULL;
 
   conn = u;