diff --git a/indra/newview/llviewerassetstats.cpp b/indra/newview/llviewerassetstats.cpp
index 54ac29723f6cef497803737c3a63df7650b7968c..012da212a97d523bcf2dfb254a961c1efdab44d8 100644
--- a/indra/newview/llviewerassetstats.cpp
+++ b/indra/newview/llviewerassetstats.cpp
@@ -90,90 +90,32 @@ namespace LLViewerAssetStatsFF
 		//  - wearables (clothing, bodyparts) which directly affect
 		//    user experiences when they log in
 		//  - sounds
-		//  - gestures
+		//  - gestures, including animations
 		//  - everything else.
 		//
-		llassert_always(50 == LLViewerAssetType::AT_COUNT);
 
-		// Multiple asset definitions are floating around so this requires some
-		// maintenance and attention.
-		static const EViewerAssetCategories asset_to_bin_map[LLViewerAssetType::AT_COUNT] =
-		{
-			EVACTextureTempHTTPGet,			// (0) AT_TEXTURE
-			EVACSoundUDPGet,				// AT_SOUND
-			EVACOtherGet,					// AT_CALLINGCARD
-			EVACOtherGet,					// AT_LANDMARK
-			EVACOtherGet,					// AT_SCRIPT
-			EVACWearableUDPGet,				// AT_CLOTHING
-			EVACOtherGet,					// AT_OBJECT
-			EVACOtherGet,					// AT_NOTECARD
-			EVACOtherGet,					// AT_CATEGORY
-			EVACOtherGet,					// AT_ROOT_CATEGORY
-			EVACOtherGet,					// (10) AT_LSL_TEXT
-			EVACOtherGet,					// AT_LSL_BYTECODE
-			EVACOtherGet,					// AT_TEXTURE_TGA
-			EVACWearableUDPGet,				// AT_BODYPART
-			EVACOtherGet,					// AT_TRASH
-			EVACOtherGet,					// AT_SNAPSHOT_CATEGORY
-			EVACOtherGet,					// AT_LOST_AND_FOUND
-			EVACSoundUDPGet,				// AT_SOUND_WAV
-			EVACOtherGet,					// AT_IMAGE_TGA
-			EVACOtherGet,					// AT_IMAGE_JPEG
-			EVACGestureUDPGet,				// (20) AT_ANIMATION
-			EVACGestureUDPGet,				// AT_GESTURE
-			EVACOtherGet,					// AT_SIMSTATE
-			EVACOtherGet,					// AT_FAVORITE
-			EVACOtherGet,					// AT_LINK
-			EVACOtherGet,					// AT_LINK_FOLDER
-			EVACOtherGet,					// 
-			EVACOtherGet,					// 
-			EVACOtherGet,					// 
-			EVACOtherGet,					// 
-			EVACOtherGet,					// (30)
-			EVACOtherGet,					// 
-			EVACOtherGet,					// 
-			EVACOtherGet,					// 
-			EVACOtherGet,					// 
-			EVACOtherGet,					// 
-			EVACOtherGet,					// 
-			EVACOtherGet,					// 
-			EVACOtherGet,					// 
-			EVACOtherGet,					// 
-			EVACOtherGet,					// (40)
-			EVACOtherGet,					// 
-			EVACOtherGet,					// 
-			EVACOtherGet,					// 
-			EVACOtherGet,					// 
-			EVACOtherGet,					//
-			EVACOtherGet,					// 
-			EVACOtherGet,					// 
-			EVACOtherGet,					// 
-			EVACOtherGet,					// AT_MESH
-			// (50)
-		};
-
-		if (at < 0 || at >= LLViewerAssetType::AT_COUNT)
-		{
-			return EVACOtherGet;
-		}
-		EViewerAssetCategories ret(asset_to_bin_map[at]);
-		if (EVACTextureTempHTTPGet == ret)
-		{
-			// Indexed with [is_temp][with_http]
-			static const EViewerAssetCategories texture_bin_map[2][2] =
-			{
-				{
-					EVACTextureNonTempUDPGet,
-					EVACTextureNonTempHTTPGet,
-				},
-				{
-					EVACTextureTempUDPGet,
-					EVACTextureTempHTTPGet,
-				}
-			};
-	
-			ret = texture_bin_map[is_temp][with_http];
-		}
+        EViewerAssetCategories ret(EVACOtherGet);
+        switch (at)
+        {
+            case LLAssetType::AT_TEXTURE:
+                if (is_temp)
+                    ret = with_http ? EVACTextureTempHTTPGet : EVACTextureTempUDPGet;
+                else
+                    ret = with_http ? EVACTextureNonTempHTTPGet : EVACTextureNonTempUDPGet;
+                break;
+            case LLAssetType::AT_SOUND:
+            case LLAssetType::AT_SOUND_WAV:
+                ret = with_http ? EVACSoundHTTPGet : EVACSoundUDPGet;
+                break;
+            case LLAssetType::AT_CLOTHING:
+            case LLAssetType::AT_BODYPART:
+                ret = with_http ? EVACWearableHTTPGet : EVACWearableUDPGet;
+                break;
+            case LLAssetType::AT_ANIMATION:
+            case LLAssetType::AT_GESTURE:
+                ret = with_http ? EVACGestureHTTPGet : EVACGestureUDPGet;
+                break;
+        }
 		return ret;
 	}
 
@@ -185,12 +127,18 @@ namespace LLViewerAssetStatsFF
 																	"Number of texture asset http requests enqueued"),
 							sEnqueueAssetRequestsNonTempTextureUDP ("enqueuedassetrequestsnontemptextureudp", 
 																	"Number of texture asset udp requests enqueued"),
+							sEnqueuedAssetRequestsWearableHTTP      ("enqueuedassetrequestswearablehttp", 
+																	"Number of wearable asset http requests enqueued"),
 							sEnqueuedAssetRequestsWearableUdp      ("enqueuedassetrequestswearableudp", 
-																	"Number of wearable asset requests enqueued"),
+																	"Number of wearable asset udp requests enqueued"),
+							sEnqueuedAssetRequestsSoundHTTP         ("enqueuedassetrequestssoundhttp", 
+																	"Number of sound asset http requests enqueued"),
 							sEnqueuedAssetRequestsSoundUdp         ("enqueuedassetrequestssoundudp", 
-																	"Number of sound asset requests enqueued"),
+																	"Number of sound asset udp requests enqueued"),
+							sEnqueuedAssetRequestsGestureHTTP       ("enqueuedassetrequestsgesturehttp", 
+																	"Number of gesture asset http requests enqueued"),
 							sEnqueuedAssetRequestsGestureUdp       ("enqueuedassetrequestsgestureudp", 
-																	"Number of gesture asset requests enqueued"),
+																	"Number of gesture asset udp requests enqueued"),
 							sEnqueuedAssetRequestsOther            ("enqueuedassetrequestsother", 
 																	"Number of other asset requests enqueued");
 
@@ -199,8 +147,11 @@ namespace LLViewerAssetStatsFF
 		&sEnqueueAssetRequestsTempTextureUDP,  
 		&sEnqueueAssetRequestsNonTempTextureHTTP,
 		&sEnqueueAssetRequestsNonTempTextureUDP,
+		&sEnqueuedAssetRequestsWearableHTTP,
 		&sEnqueuedAssetRequestsWearableUdp,
+		&sEnqueuedAssetRequestsSoundHTTP,
 		&sEnqueuedAssetRequestsSoundUdp,
+		&sEnqueuedAssetRequestsGestureHTTP,
 		&sEnqueuedAssetRequestsGestureUdp,
 		&sEnqueuedAssetRequestsOther            
 	};
@@ -213,12 +164,18 @@ namespace LLViewerAssetStatsFF
 																	"Number of texture asset http requests dequeued"),
 							sDequeueAssetRequestsNonTempTextureUDP ("dequeuedassetrequestsnontemptextureudp", 
 																	"Number of texture asset udp requests dequeued"),
+							sDequeuedAssetRequestsWearableHTTP      ("dequeuedassetrequestswearablehttp", 
+																	"Number of wearable asset http requests dequeued"),
 							sDequeuedAssetRequestsWearableUdp      ("dequeuedassetrequestswearableudp", 
-																	"Number of wearable asset requests dequeued"),
+																	"Number of wearable asset udp requests dequeued"),
+							sDequeuedAssetRequestsSoundHTTP         ("dequeuedassetrequestssoundhttp", 
+																	"Number of sound asset http requests dequeued"),
 							sDequeuedAssetRequestsSoundUdp         ("dequeuedassetrequestssoundudp", 
-																	"Number of sound asset requests dequeued"),
+																	"Number of sound asset udp requests dequeued"),
+							sDequeuedAssetRequestsGestureHTTP       ("dequeuedassetrequestsgesturehttp", 
+																	"Number of gesture asset http requests dequeued"),
 							sDequeuedAssetRequestsGestureUdp       ("dequeuedassetrequestsgestureudp", 
-																	"Number of gesture asset requests dequeued"),
+																	"Number of gesture asset udp requests dequeued"),
 							sDequeuedAssetRequestsOther            ("dequeuedassetrequestsother", 
 																	"Number of other asset requests dequeued");
 
@@ -227,8 +184,11 @@ namespace LLViewerAssetStatsFF
 		&sDequeueAssetRequestsTempTextureUDP,  
 		&sDequeueAssetRequestsNonTempTextureHTTP,
 		&sDequeueAssetRequestsNonTempTextureUDP,
+		&sDequeuedAssetRequestsWearableHTTP,
 		&sDequeuedAssetRequestsWearableUdp,
+		&sDequeuedAssetRequestsSoundHTTP,
 		&sDequeuedAssetRequestsSoundUdp,
+		&sDequeuedAssetRequestsGestureHTTP,
 		&sDequeuedAssetRequestsGestureUdp,
 		&sDequeuedAssetRequestsOther            
 	};
@@ -241,12 +201,18 @@ namespace LLViewerAssetStatsFF
 																							"Time spent responding to texture asset http requests"),
 													sResponseAssetRequestsNonTempTextureUDP ("assetresponsetimesnontemptextureudp", 
 																							"Time spent responding to texture asset udp requests"),
+													sResponsedAssetRequestsWearableHTTP      ("assetresponsetimeswearablehttp", 
+																							"Time spent responding to wearable asset http requests"),
 													sResponsedAssetRequestsWearableUdp      ("assetresponsetimeswearableudp", 
-																							"Time spent responding to wearable asset requests"),
+																							"Time spent responding to wearable asset udp requests"),
+													sResponsedAssetRequestsSoundHTTP         ("assetresponsetimessounduhttp", 
+																							"Time spent responding to sound asset http requests"),
 													sResponsedAssetRequestsSoundUdp         ("assetresponsetimessoundudp", 
-																							"Time spent responding to sound asset requests"),
+																							"Time spent responding to sound asset udp requests"),
+													sResponsedAssetRequestsGestureHTTP       ("assetresponsetimesgesturehttp", 
+																							"Time spent responding to gesture asset http requests"),
 													sResponsedAssetRequestsGestureUdp       ("assetresponsetimesgestureudp", 
-																							"Time spent responding to gesture asset requests"),
+																							"Time spent responding to gesture asset udp requests"),
 													sResponsedAssetRequestsOther            ("assetresponsetimesother", 
 																							"Time spent responding to other asset requests");
 
@@ -255,8 +221,11 @@ namespace LLViewerAssetStatsFF
 		&sResponseAssetRequestsTempTextureUDP,  
 		&sResponseAssetRequestsNonTempTextureHTTP,
 		&sResponseAssetRequestsNonTempTextureUDP,
+		&sResponsedAssetRequestsWearableHTTP,
 		&sResponsedAssetRequestsWearableUdp,
+		&sResponsedAssetRequestsSoundHTTP,
 		&sResponsedAssetRequestsSoundUdp,
+		&sResponsedAssetRequestsGestureHTTP,
 		&sResponsedAssetRequestsGestureUdp,
 		&sResponsedAssetRequestsOther            
 	};
@@ -415,6 +384,19 @@ void LLViewerAssetStats::getStats(AssetStats& stats, bool compact_output)
 										.resp_mean(rec.getMean(*sResponse[EVACTextureNonTempUDPGet]).value());
 		}
 
+		if (!compact_output
+			|| rec.getSum(*sEnqueued[EVACWearableHTTPGet]) 
+			|| rec.getSum(*sDequeued[EVACWearableHTTPGet])
+			|| rec.getSum(*sResponse[EVACWearableHTTPGet]).value())
+		{
+			r.get_wearable_http	.enqueued((S32)rec.getSum(*sEnqueued[EVACWearableHTTPGet]))
+								.dequeued((S32)rec.getSum(*sDequeued[EVACWearableHTTPGet]))
+								.resp_count((S32)rec.getSum(*sResponse[EVACWearableHTTPGet]).value())
+								.resp_min(rec.getMin(*sResponse[EVACWearableHTTPGet]).value())
+								.resp_max(rec.getMax(*sResponse[EVACWearableHTTPGet]).value())
+								.resp_mean(rec.getMean(*sResponse[EVACWearableHTTPGet]).value());
+		}
+
 		if (!compact_output
 			|| rec.getSum(*sEnqueued[EVACWearableUDPGet]) 
 			|| rec.getSum(*sDequeued[EVACWearableUDPGet])
@@ -428,6 +410,19 @@ void LLViewerAssetStats::getStats(AssetStats& stats, bool compact_output)
 								.resp_mean(rec.getMean(*sResponse[EVACWearableUDPGet]).value());
 		}
 
+		if (!compact_output
+			|| rec.getSum(*sEnqueued[EVACSoundHTTPGet]) 
+			|| rec.getSum(*sDequeued[EVACSoundHTTPGet])
+			|| rec.getSum(*sResponse[EVACSoundHTTPGet]).value())
+		{
+			r.get_sound_http.enqueued((S32)rec.getSum(*sEnqueued[EVACSoundHTTPGet]))
+							.dequeued((S32)rec.getSum(*sDequeued[EVACSoundHTTPGet]))
+							.resp_count((S32)rec.getSum(*sResponse[EVACSoundHTTPGet]).value())
+							.resp_min(rec.getMin(*sResponse[EVACSoundHTTPGet]).value())
+							.resp_max(rec.getMax(*sResponse[EVACSoundHTTPGet]).value())
+							.resp_mean(rec.getMean(*sResponse[EVACSoundHTTPGet]).value());
+		}
+
 		if (!compact_output
 			|| rec.getSum(*sEnqueued[EVACSoundUDPGet]) 
 			|| rec.getSum(*sDequeued[EVACSoundUDPGet])
@@ -441,6 +436,19 @@ void LLViewerAssetStats::getStats(AssetStats& stats, bool compact_output)
 							.resp_mean(rec.getMean(*sResponse[EVACSoundUDPGet]).value());
 		}
 
+		if (!compact_output
+			|| rec.getSum(*sEnqueued[EVACGestureHTTPGet]) 
+			|| rec.getSum(*sDequeued[EVACGestureHTTPGet])
+			|| rec.getSum(*sResponse[EVACGestureHTTPGet]).value())
+		{
+			r.get_gesture_http	.enqueued((S32)rec.getSum(*sEnqueued[EVACGestureHTTPGet]))
+								.dequeued((S32)rec.getSum(*sDequeued[EVACGestureHTTPGet]))
+								.resp_count((S32)rec.getSum(*sResponse[EVACGestureHTTPGet]).value())
+								.resp_min(rec.getMin(*sResponse[EVACGestureHTTPGet]).value())
+								.resp_max(rec.getMax(*sResponse[EVACGestureHTTPGet]).value())
+								.resp_mean(rec.getMean(*sResponse[EVACGestureHTTPGet]).value());
+		}
+			
 		if (!compact_output
 			|| rec.getSum(*sEnqueued[EVACGestureUDPGet]) 
 			|| rec.getSum(*sDequeued[EVACGestureUDPGet])
@@ -576,8 +584,11 @@ LLViewerAssetStats::RegionStats::RegionStats()
 	get_texture_temp_udp("get_texture_temp_udp"),
 	get_texture_non_temp_http("get_texture_non_temp_http"),
 	get_texture_non_temp_udp("get_texture_non_temp_udp"),
+	get_wearable_http("get_wearable_http"),
 	get_wearable_udp("get_wearable_udp"),
+	get_sound_http("get_sound_http"),
 	get_sound_udp("get_sound_udp"),
+	get_gesture_http("get_gesture_http"),
 	get_gesture_udp("get_gesture_udp"),
 	get_other("get_other"),
 	fps("fps"),
diff --git a/indra/newview/llviewerassetstats.h b/indra/newview/llviewerassetstats.h
index 9d425c82fc97be4dc96bfc08ade7b45f5d688f83..ddddf7883b8876d724be82109e5b8ab064dd762d 100644
--- a/indra/newview/llviewerassetstats.h
+++ b/indra/newview/llviewerassetstats.h
@@ -104,7 +104,7 @@ class LLViewerAssetStats : public LLStopWatchControlsMixin<LLViewerAssetStats>
 	};
 
 	struct FPSStats : public LLInitParam::Block<FPSStats>
-			{
+    {
 		Mandatory<S32>	count;
 		Mandatory<F64>	min,
 						max,
@@ -113,13 +113,16 @@ class LLViewerAssetStats : public LLStopWatchControlsMixin<LLViewerAssetStats>
 	};
 
 	struct RegionStats : public LLInitParam::Block<RegionStats>
-				{
+    {
 		Optional<AssetRequestType>	get_texture_temp_http,
 									get_texture_temp_udp,
 									get_texture_non_temp_http,
 									get_texture_non_temp_udp,
+									get_wearable_http,
 									get_wearable_udp,
+									get_sound_http,
 									get_sound_udp,
+									get_gesture_http,
 									get_gesture_udp,
 									get_other;
 		Optional<FPSStats>			fps;
@@ -211,9 +214,12 @@ namespace LLViewerAssetStatsFF
 		EVACTextureTempUDPGet,			//< Texture GETs - temp/baked, UDP
 		EVACTextureNonTempHTTPGet,		//< Texture GETs - perm, HTTP
 		EVACTextureNonTempUDPGet,		//< Texture GETs - perm, UDP
-		EVACWearableUDPGet,				//< Wearable GETs
-		EVACSoundUDPGet,				//< Sound GETs
-		EVACGestureUDPGet,				//< Gesture GETs
+		EVACWearableHTTPGet,			//< Wearable GETs HTTP
+		EVACWearableUDPGet,				//< Wearable GETs UDP
+		EVACSoundHTTPGet,				//< Sound GETs HTTP
+		EVACSoundUDPGet,				//< Sound GETs UDP
+		EVACGestureHTTPGet,				//< Gesture GETs HTTP
+		EVACGestureUDPGet,				//< Gesture GETs UDP
 		EVACOtherGet,					//< Other GETs
 
 		EVACCount						// Must be last
diff --git a/indra/newview/llviewerassetstorage.cpp b/indra/newview/llviewerassetstorage.cpp
index 3bb2b531dc4896cadccfde1bc779a51273c96ff0..347810e169aeb11bbd267722296be2e4f9f92141 100644
--- a/indra/newview/llviewerassetstorage.cpp
+++ b/indra/newview/llviewerassetstorage.cpp
@@ -56,9 +56,10 @@
 class LLViewerAssetRequest : public LLAssetRequest
 {
 public:
-    LLViewerAssetRequest(const LLUUID &uuid, const LLAssetType::EType type)
+    LLViewerAssetRequest(const LLUUID &uuid, const LLAssetType::EType type, bool with_http)
         : LLAssetRequest(uuid, type),
-          mMetricsStartTime(0)
+          mMetricsStartTime(0),
+          mWithHTTP(with_http)
     {
     }
     
@@ -78,8 +79,8 @@ class LLViewerAssetRequest : public LLAssetRequest
         {
             // Okay, it appears this request was used for useful things.  Record
             // the expected dequeue and duration of request processing.
-            LLViewerAssetStatsFF::record_dequeue(mType, false, false);
-            LLViewerAssetStatsFF::record_response(mType, false, false,
+            LLViewerAssetStatsFF::record_dequeue(mType, mWithHTTP, false);
+            LLViewerAssetStatsFF::record_response(mType, mWithHTTP, false,
                                                   (LLViewerAssetStatsFF::get_timestamp()
                                                    - mMetricsStartTime));
             mMetricsStartTime = (U32Seconds)0;
@@ -88,6 +89,7 @@ class LLViewerAssetRequest : public LLAssetRequest
     
 public:
     LLViewerAssetStats::duration_t      mMetricsStartTime;
+    bool mWithHTTP;
 };
 
 ///----------------------------------------------------------------------------
@@ -369,7 +371,8 @@ void LLViewerAssetStorage::queueRequestUDP(
     if (mUpstreamHost.isOk())
     {
         // stash the callback info so we can find it after we get the response message
-        LLViewerAssetRequest *req = new LLViewerAssetRequest(uuid, atype);
+		bool with_http = false;
+        LLViewerAssetRequest *req = new LLViewerAssetRequest(uuid, atype, with_http);
         req->mDownCallback = callback;
         req->mUserData = user_data;
         req->mIsPriority = is_priority;
@@ -398,7 +401,9 @@ void LLViewerAssetStorage::queueRequestUDP(
             LLTransferTargetChannel *ttcp = gTransferManager.getTargetChannel(mUpstreamHost, LLTCT_ASSET);
             ttcp->requestTransfer(spa, tpvf, 100.f + (is_priority ? 1.f : 0.f));
 
-            LLViewerAssetStatsFF::record_enqueue(atype, false, false);
+            bool with_http = false;
+            bool is_temp = false;
+            LLViewerAssetStatsFF::record_enqueue(atype, with_http, is_temp);
         }
     }
     else
@@ -432,7 +437,8 @@ void LLViewerAssetStorage::queueRequestHttp(
     {
         LL_DEBUGS("ViewerAsset") << "Will fetch via ViewerAsset cap " << cap_url << LL_ENDL;
 
-        LLViewerAssetRequest *req = new LLViewerAssetRequest(uuid, atype);
+        bool with_http = true;
+        LLViewerAssetRequest *req = new LLViewerAssetRequest(uuid, atype, with_http);
         req->mDownCallback = callback;
         req->mUserData = user_data;
         req->mIsPriority = is_priority;
@@ -447,7 +453,9 @@ void LLViewerAssetStorage::queueRequestHttp(
         // This is the same as the current UDP logic - don't re-request a duplicate.
         if (!duplicate)
         {
-            LLViewerAssetStatsFF::record_enqueue(atype, false, false);
+            bool with_http = true;
+            bool is_temp = false;
+            LLViewerAssetStatsFF::record_enqueue(atype, with_http, is_temp);
 
             LLCoros::instance().launch("LLViewerAssetStorage::assetRequestCoro",
                                        boost::bind(&LLViewerAssetStorage::assetRequestCoro, this, uuid, atype, callback, user_data));
@@ -481,9 +489,9 @@ void LLViewerAssetStorage::assetRequestCoro(
     }
     else
     {
-        LL_DEBUGS("ViewerAsset") << "request succeeded" << LL_ENDL;
+        LL_DEBUGS("ViewerAsset") << "request succeeded, url " << url << LL_ENDL;
 
-        LL_DEBUGS("ViewerAsset") << "result: " << ll_pretty_print_sd(httpResults) << LL_ENDL;
+        // LL_DEBUGS("ViewerAsset") << "result: " << ll_pretty_print_sd(httpResults) << LL_ENDL;
 
         const LLSD::Binary &raw = result[LLCoreHttpUtil::HttpCoroutineAdapter::HTTP_RESULTS_RAW].asBinary();
 
@@ -508,6 +516,7 @@ void LLViewerAssetStorage::assetRequestCoro(
         else
         {
             // TODO asset-http: handle invalid size case
+			LL_ERRS() << "bad size" << LL_ENDL;
         }
 
         // Clean up pending downloads and trigger callbacks
diff --git a/indra/newview/tests/llviewerassetstats_test.cpp b/indra/newview/tests/llviewerassetstats_test.cpp
index a08e32cb49fc2b0c714a9511814354638fcd380e..ed3051893eb89723fab85f7044a472d744dc2cdf 100644
--- a/indra/newview/tests/llviewerassetstats_test.cpp
+++ b/indra/newview/tests/llviewerassetstats_test.cpp
@@ -76,8 +76,11 @@ static const char * all_keys[] =
 	"get_texture_temp_udp",
 	"get_texture_non_temp_http",
 	"get_texture_non_temp_udp",
+	"get_wearable_http",
 	"get_wearable_udp",
+	"get_sound_http",
 	"get_sound_udp",
+	"get_gesture_http",
 	"get_gesture_udp"
 };
 
@@ -88,8 +91,11 @@ static const char * resp_keys[] =
 	"get_texture_temp_udp",
 	"get_texture_non_temp_http",
 	"get_texture_non_temp_udp",
+	"get_wearable_http",
 	"get_wearable_udp",
+	"get_sound_http",
 	"get_sound_udp",
+	"get_gesture_http",
 	"get_gesture_udp"
 };
 
@@ -540,8 +546,11 @@ namespace tut
 		ensure("sd[get_gesture_udp][enqueued] is 0", (0 == sd["get_gesture_udp"]["enqueued"].asInteger()));
 		ensure("sd[get_gesture_udp][dequeued] is 0", (0 == sd["get_gesture_udp"]["dequeued"].asInteger()));
 
-		ensure("sd[get_wearable_udp][enqueued] is 4", (4 == sd["get_wearable_udp"]["enqueued"].asInteger()));
-		ensure("sd[get_wearable_udp][dequeued] is 4", (4 == sd["get_wearable_udp"]["dequeued"].asInteger()));
+		ensure("sd[get_wearable_http][enqueued] is 2", (2 == sd["get_wearable_http"]["enqueued"].asInteger()));
+		ensure("sd[get_wearable_http][dequeued] is 2", (2 == sd["get_wearable_http"]["dequeued"].asInteger()));
+
+		ensure("sd[get_wearable_udp][enqueued] is 2", (2 == sd["get_wearable_udp"]["enqueued"].asInteger()));
+		ensure("sd[get_wearable_udp][dequeued] is 2", (2 == sd["get_wearable_udp"]["dequeued"].asInteger()));
 
 		ensure("sd[get_other][enqueued] is 4", (4 == sd["get_other"]["enqueued"].asInteger()));
 		ensure("sd[get_other][dequeued] is 0", (0 == sd["get_other"]["dequeued"].asInteger()));