diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp
index 5616c2737096fc49fa8b033682254355509793b8..d0813544f8c1456850ecc33198e699f4b42f6104 100755
--- a/indra/newview/llviewerinventory.cpp
+++ b/indra/newview/llviewerinventory.cpp
@@ -389,12 +389,18 @@ void LLViewerInventoryItem::updateServer(BOOL is_new) const
     if (updates.has("asset_id"))
     {
         updates.erase("asset_id");
-        updates["hash_id"] = getTransactionID();
+        if(getTransactionID().notNull())
+        {
+            updates["hash_id"] = getTransactionID();
+        }
     }
     if (updates.has("shadow_id"))
     {
         updates.erase("shadow_id");
-        updates["hash_id"] = getTransactionID();
+        if(getTransactionID().notNull())
+        {
+            updates["hash_id"] = getTransactionID();
+        }
     }
     AISAPI::completion_t cr = boost::bind(&doInventoryCb, (LLPointer<LLInventoryCallback>)NULL, _1);
     AISAPI::UpdateItem(getUUID(), updates, cr);