diff --git a/doc/contributions.txt b/doc/contributions.txt
index dfbccb5a6c9147218f9650bf8257610f08e7cba6..94c73a2f52b7a1c64aa80f685b4f1b9f2883cc23 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -440,6 +440,7 @@ Jonathan Yap
 	STORM-1095
 	STORM-1236
 	STORM-1259
+	STORM-1313
 Kage Pixel
 	VWR-11
 Ken March
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 3832be727fcc331af2371065562ceedee33ca792..49188e46c62c720bc4e2193ad795de9959224713 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -6483,10 +6483,14 @@ void process_script_dialog(LLMessageSystem* msg, void**)
 	LLSD payload;
 
 	LLUUID object_id;
-    LLUUID owner_id;
-
 	msg->getUUID("Data", "ObjectID", object_id);
-    msg->getUUID("OwnerData", "OwnerID", owner_id);
+
+//	For compability with OS grids first check for presence of extended packet before fetching data.
+    LLUUID owner_id;
+	if (gMessageSystem->getNumberOfBlocks("OwnerData") > 0)
+	{
+		msg->getUUID("OwnerData", "OwnerID", owner_id);
+	}
 
 	if (LLMuteList::getInstance()->isMuted(object_id) || LLMuteList::getInstance()->isMuted(owner_id))
 	{