diff --git a/indra/llmessage/llhttpclient.cpp b/indra/llmessage/llhttpclient.cpp
index 5bf0c08e67dd5ec424f588c592c63fd8af2543e3..618d99dc4824139524c0a2e04e02bb35c47e6a88 100644
--- a/indra/llmessage/llhttpclient.cpp
+++ b/indra/llmessage/llhttpclient.cpp
@@ -252,10 +252,13 @@ static void request(
 	// Check to see if we have already set Accept or not. If no one
 	// set it, set it to application/llsd+xml since that's what we
 	// almost always want.
-	static const std::string ACCEPT("Accept");
-	if(!headers.has(ACCEPT))
+	if( method != LLURLRequest::HTTP_PUT && method != LLURLRequest::HTTP_POST )
 	{
-		req->addHeader("Accept: application/llsd+xml");
+		static const std::string ACCEPT("Accept");
+		if(!headers.has(ACCEPT))
+		{
+			req->addHeader("Accept: application/llsd+xml");
+		}
 	}
 
 	req->setCallback(new LLHTTPClientURLAdaptor(responder));