diff --git a/indra/llcorehttp/_httpopcancel.h b/indra/llcorehttp/_httpopcancel.h
index 6d1e0f87745e1b4cb71b3f6cacf6c6d6e47ce587..4d927d1aaf0e7d90c57bc2079cfb7b9b3bc03c0d 100644
--- a/indra/llcorehttp/_httpopcancel.h
+++ b/indra/llcorehttp/_httpopcancel.h
@@ -51,8 +51,10 @@ class HttpOpCancel : public HttpOperation
 {
 public:
 	HttpOpCancel(HttpHandle handle);
-	virtual ~HttpOpCancel();
 
+protected:
+	virtual ~HttpOpCancel();							// Use release()
+	
 private:
 	HttpOpCancel(const HttpOpCancel &);					// Not defined
 	void operator=(const HttpOpCancel &);				// Not defined
diff --git a/indra/llcorehttp/_httpoperation.h b/indra/llcorehttp/_httpoperation.h
index de4939a0aca9743dc0c775b07d745d24fb51ea8f..5823c08c7beb6b8c8fbfc273ac97928c0e79ac8c 100644
--- a/indra/llcorehttp/_httpoperation.h
+++ b/indra/llcorehttp/_httpoperation.h
@@ -73,7 +73,9 @@ class HttpOperation : public LLCoreInt::RefCounted
 {
 public:
 	HttpOperation();
-	virtual ~HttpOperation();
+
+protected:
+	virtual ~HttpOperation();							// Use release()
 
 private:
 	HttpOperation(const HttpOperation &);				// Not defined
@@ -131,6 +133,8 @@ class HttpOpStop : public HttpOperation
 {
 public:
 	HttpOpStop();
+
+protected:
 	virtual ~HttpOpStop();
 
 private:
@@ -152,6 +156,8 @@ class HttpOpNull : public HttpOperation
 {
 public:
 	HttpOpNull();
+
+protected:
 	virtual ~HttpOpNull();
 
 private:
diff --git a/indra/llcorehttp/_httpoprequest.h b/indra/llcorehttp/_httpoprequest.h
index fc2301057c94ac07821d3a5e9dc127117274a2c1..4643cc3b75545bdfa8f9566ef33d35b2e47ea1f7 100644
--- a/indra/llcorehttp/_httpoprequest.h
+++ b/indra/llcorehttp/_httpoprequest.h
@@ -54,7 +54,9 @@ class HttpOpRequest : public HttpOperation
 {
 public:
 	HttpOpRequest();
-	virtual ~HttpOpRequest();
+
+protected:
+	virtual ~HttpOpRequest();							// Use release()
 
 private:
 	HttpOpRequest(const HttpOpRequest &);				// Not defined
diff --git a/indra/llcorehttp/_httpopsetget.h b/indra/llcorehttp/_httpopsetget.h
index e065eb4c30c3f37b1915f93ea8f75b2ca1312e37..efb24855c5ab22e8ac8a426217ef83ff541a5d7c 100644
--- a/indra/llcorehttp/_httpopsetget.h
+++ b/indra/llcorehttp/_httpopsetget.h
@@ -49,7 +49,9 @@ class HttpOpSetGet : public HttpOperation
 {
 public:
 	HttpOpSetGet();
-	virtual ~HttpOpSetGet();
+
+protected:
+	virtual ~HttpOpSetGet();							// Use release()
 
 private:
 	HttpOpSetGet(const HttpOpSetGet &);					// Not defined
diff --git a/indra/llcorehttp/_httpopsetpriority.h b/indra/llcorehttp/_httpopsetpriority.h
index f1e94b6e4312b0d00a083ecfb5e90eed41c1364c..724293ef78467aa5a76671a0ddca82ff6e663cd6 100644
--- a/indra/llcorehttp/_httpopsetpriority.h
+++ b/indra/llcorehttp/_httpopsetpriority.h
@@ -47,6 +47,8 @@ class HttpOpSetPriority : public HttpOperation
 {
 public:
 	HttpOpSetPriority(HttpHandle handle, HttpRequest::priority_t priority);
+
+protected:
 	virtual ~HttpOpSetPriority();
 
 private:
diff --git a/indra/llcorehttp/_httpreplyqueue.h b/indra/llcorehttp/_httpreplyqueue.h
index 28cb1d68b7922bac5d973b0413a7846c5494a8cd..4220a09a3b02420c35c06b80ff60b38b12cf4719 100644
--- a/indra/llcorehttp/_httpreplyqueue.h
+++ b/indra/llcorehttp/_httpreplyqueue.h
@@ -63,7 +63,9 @@ class HttpReplyQueue : public LLCoreInt::RefCounted
 public:
 	/// Caller acquires a Refcount on construction
 	HttpReplyQueue();
-	virtual ~HttpReplyQueue();
+
+protected:
+	virtual ~HttpReplyQueue();							// Use release()
 
 private:
 	HttpReplyQueue(const HttpReplyQueue &);				// Not defined
diff --git a/indra/llcorehttp/_httprequestqueue.h b/indra/llcorehttp/_httprequestqueue.h
index f96bd7520c7cbe6d128ab92aad5a5982649f6231..26d7d9dca67417d123726bd26bdec2c8717c7c98 100644
--- a/indra/llcorehttp/_httprequestqueue.h
+++ b/indra/llcorehttp/_httprequestqueue.h
@@ -51,7 +51,9 @@ class HttpRequestQueue : public LLCoreInt::RefCounted
 protected:
 	/// Caller acquires a Refcount on construction
 	HttpRequestQueue();
-	virtual ~HttpRequestQueue();
+
+protected:
+	virtual ~HttpRequestQueue();						// Use release()
 
 private:
 	HttpRequestQueue(const HttpRequestQueue &);			// Not defined
diff --git a/indra/llcorehttp/bufferarray.h b/indra/llcorehttp/bufferarray.h
index d3862b45e1165b5f1fb8cac8edb335f890d783b3..d0c51d3c735be3d71eed595ccbd5d9fd63d1f8d7 100644
--- a/indra/llcorehttp/bufferarray.h
+++ b/indra/llcorehttp/bufferarray.h
@@ -66,7 +66,9 @@ class BufferArray : public LLCoreInt::RefCounted
 {
 public:
 	BufferArray();
-	virtual ~BufferArray();
+
+protected:
+	virtual ~BufferArray();						// Use release()
 
 private:
 	BufferArray(const BufferArray &);			// Not defined
diff --git a/indra/llcorehttp/httpheaders.h b/indra/llcorehttp/httpheaders.h
index 0b6d82561b8d2def66fe3d5a78f1de51c3f4072a..3449daa3a1311c859720cc1624c885420822a7c2 100644
--- a/indra/llcorehttp/httpheaders.h
+++ b/indra/llcorehttp/httpheaders.h
@@ -68,9 +68,10 @@ class HttpHeaders : public LLCoreInt::RefCounted
 	/// to the instance.  A call to @see release() will destroy
 	/// the instance.
 	HttpHeaders();
-	~HttpHeaders();
 
 protected:
+	virtual ~HttpHeaders();						// Use release()
+
 	HttpHeaders(const HttpHeaders &);			// Not defined
 	void operator=(const HttpHeaders &);		// Not defined
 
diff --git a/indra/llcorehttp/httpoptions.h b/indra/llcorehttp/httpoptions.h
index 0b9dfdc1de2297a160e21b70a71e3bf727e753f0..78d0aadb2e173d9de05a17e075c5094bff50a6c5 100644
--- a/indra/llcorehttp/httpoptions.h
+++ b/indra/llcorehttp/httpoptions.h
@@ -61,9 +61,10 @@ class HttpOptions : public LLCoreInt::RefCounted
 public:
 	HttpOptions();
 	HttpOptions(const HttpOptions &);
-	virtual ~HttpOptions();
 
 protected:
+	virtual ~HttpOptions();						// Use release()
+	
 	void operator=(const HttpOptions &);		// Not defined
 
 public:
diff --git a/indra/llcorehttp/httpresponse.h b/indra/llcorehttp/httpresponse.h
index 5cf3a919f41ad36ad7ef16d8e430a1511255c922..5bcd7c4eb802b1232443b30f920003683c52b37f 100644
--- a/indra/llcorehttp/httpresponse.h
+++ b/indra/llcorehttp/httpresponse.h
@@ -58,9 +58,10 @@ class HttpResponse : public LLCoreInt::RefCounted
 {
 public:
 	HttpResponse();
-	virtual ~HttpResponse();
 
 protected:
+	virtual ~HttpResponse();							// Use release()
+	
 	HttpResponse(const HttpResponse &);					// Not defined
 	void operator=(const HttpResponse &);				// Not defined