diff --git a/indra/newview/llaisapi.cpp b/indra/newview/llaisapi.cpp
index 85b304d90e7df2939f52d4d915d0ccde8b2a95a4..6f6e6ebb351019548f170b69db1e9606db2953fb 100755
--- a/indra/newview/llaisapi.cpp
+++ b/indra/newview/llaisapi.cpp
@@ -243,7 +243,7 @@ UpdateItemCommand::UpdateItemCommand(const LLUUID& item_id,
 	setCommandFunc(cmd);
 }
 
-UpdateCategoryCommand::UpdateCategoryCommand(const LLUUID& item_id,
+UpdateCategoryCommand::UpdateCategoryCommand(const LLUUID& cat_id,
 											 const LLSD& updates,
 											 LLPointer<LLInventoryCallback> callback):
 	mUpdates(updates),
@@ -255,7 +255,7 @@ UpdateCategoryCommand::UpdateCategoryCommand(const LLUUID& item_id,
 		llwarns << "No cap found" << llendl;
 		return;
 	}
-	std::string url = cap + std::string("/category/") + item_id.asString();
+	std::string url = cap + std::string("/category/") + cat_id.asString();
 	LL_DEBUGS("Inventory") << "url: " << url << LL_ENDL;
 	LLCurl::ResponderPtr responder = this;
 	LLSD headers;
diff --git a/indra/newview/llaisapi.h b/indra/newview/llaisapi.h
index 5d31129a163a70e9cb411f574f3278940d07b3e5..f3a662c2807d735fb852767f4bf2c0a63066385b 100755
--- a/indra/newview/llaisapi.h
+++ b/indra/newview/llaisapi.h
@@ -105,7 +105,7 @@ class UpdateItemCommand: public AISCommand
 class UpdateCategoryCommand: public AISCommand
 {
 public:
-	UpdateCategoryCommand(const LLUUID& item_id,
+	UpdateCategoryCommand(const LLUUID& cat_id,
 						  const LLSD& updates,
 						  LLPointer<LLInventoryCallback> callback);
 private:
diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp
index b623b23e1a16f43242b6da8e308ac88d47e8d91f..ede6eb84905adf58c3e04facbc82732a9a75d8ce 100755
--- a/indra/newview/llviewerinventory.cpp
+++ b/indra/newview/llviewerinventory.cpp
@@ -1253,6 +1253,12 @@ void update_inventory_item(
 	if (AISCommand::isAPIAvailable())
 	{
 		LLSD updates = update_item->asLLSD();
+		// Replace asset_id with transaction_id (hash_id)
+		if (updates.has("asset_id"))
+		{
+			updates.erase("asset_id");
+			updates["hash_id"] = update_item->getTransactionID();
+		}
 		LLPointer<AISCommand> cmd_ptr = new UpdateItemCommand(item_id, updates, cb);
 		ais_ran = cmd_ptr->run_command();
 	}