Index: uspace/app/download/main.c
===================================================================
--- uspace/app/download/main.c	(revision d14840df52c3a32ad14b49726c96b06479dbfa52)
+++ uspace/app/download/main.c	(revision fc3d4fd50aa9d132c9cadad4795d9b29511d59cc)
@@ -72,4 +72,5 @@
 	void *buf = NULL;
 	uri_t *uri = NULL;
+	http_t *http = NULL;
 	int rc;
 
@@ -182,5 +183,5 @@
 	}
 	
-	http_t *http = http_create(uri->host, port);
+	http = http_create(uri->host, port);
 	if (http == NULL) {
 		fprintf(stderr, "Failed creating HTTP object\n");
@@ -234,4 +235,5 @@
 	
 	free(buf);
+	http_destroy(http);
 	uri_destroy(uri);
 	if (fclose(ofile) != 0) {
@@ -243,4 +245,6 @@
 error:
 	free(buf);
+	if (http != NULL)
+		http_destroy(http);
 	if (uri != NULL)
 		uri_destroy(uri);
Index: uspace/lib/http/src/http.c
===================================================================
--- uspace/lib/http/src/http.c	(revision d14840df52c3a32ad14b49726c96b06479dbfa52)
+++ uspace/lib/http/src/http.c	(revision fc3d4fd50aa9d132c9cadad4795d9b29511d59cc)
@@ -121,5 +121,8 @@
 	
 	tcp_conn_destroy(http->conn);
+	http->conn = NULL;
 	tcp_destroy(http->tcp);
+	http->tcp = NULL;
+	
 	return EOK;
 }
@@ -127,4 +130,5 @@
 void http_destroy(http_t *http)
 {
+	(void) http_close(http);
 	recv_buffer_fini(&http->recv_buffer);
 	free(http);
