diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp
index 4c2caae2c630f618683fe505b0fd6880c495bcac..5c0c0f398f9bb5bb4ee8570aaa1112e5d9f4805e 100644
--- a/indra/newview/llagentwearables.cpp
+++ b/indra/newview/llagentwearables.cpp
@@ -1619,11 +1619,14 @@ void LLAgentWearables::queryWearableCache()
 
 		gAgentQueryManager.mActiveCacheQueries[baked_index] = gAgentQueryManager.mWearablesCacheQueryID;
 	}
-
-	llinfos << "Requesting texture cache entry for " << num_queries << " baked textures" << llendl;
-	gMessageSystem->sendReliable(gAgent.getRegion()->getHost());
-	gAgentQueryManager.mNumPendingQueries++;
-	gAgentQueryManager.mWearablesCacheQueryID++;
+    //ext-8696: gAgent.getRegion() can return null if invalid, seen here on logout
+    if(gAgent.getRegion())
+    {
+        llinfos << "Requesting texture cache entry for " << num_queries << " baked textures" << llendl;
+        gMessageSystem->sendReliable(gAgent.getRegion()->getHost());
+        gAgentQueryManager.mNumPendingQueries++;
+        gAgentQueryManager.mWearablesCacheQueryID++;
+    }
 }
 
 LLUUID LLAgentWearables::computeBakedTextureHash(LLVOAvatarDefines::EBakedTextureIndex baked_index,