@@ -145,6 +145,7 @@ function EquipmentManager_UnpackLocation
 	local bank = (bit.band(location, ITEM_INVENTORY_LOCATION_BANK) ~= 0);
 	local bags = (bit.band(location, ITEM_INVENTORY_LOCATION_BAGS) ~= 0);
 	local voidStorage = (bit.band(location, ITEM_INVENTORY_LOCATION_VOIDSTORAGE) ~= 0);
+	local tab, voidSlot;
 
 	if ( player ) then
 		location = location - ITEM_INVENTORY_LOCATION_PLAYER;
@@ -152,6 +153,8 @@ function EquipmentManager_UnpackLocation
 		location = location - ITEM_INVENTORY_LOCATION_BANK;
 	elseif ( voidStorage ) then
 		location = location - ITEM_INVENTORY_LOCATION_VOIDSTORAGE;
+		tab = bit.rshift(location, ITEM_INVENTORY_BAG_BIT_OFFSET);
+		voidSlot = location - bit.lshift(tab, ITEM_INVENTORY_BAG_BIT_OFFSET);
 	end
 	
 	if ( bags ) then
@@ -162,9 +165,9 @@ function EquipmentManager_UnpackLocation
 		if ( bank ) then
 			bag = bag + ITEM_INVENTORY_BANK_BAG_OFFSET;
 		end
-		return player, bank, bags, voidStorage, slot, bag
+		return player, bank, bags, voidStorage, slot, bag, tab, voidSlot
 	else
-		return player, bank, bags, voidStorage, location
+		return player, bank, bags, voidStorage, location, nil, tab, voidSlot
 	end
 end
 
@@ -271,15 +274,15 @@ function EquipmentManager_PutItemInInven
 end
 
 function EquipmentManager_GetItemInfoByLocation (location)
-	local player, bank, bags, voidStorage, slot, bag = EquipmentManager_UnpackLocation(location);
+	local player, bank, bags, voidStorage, slot, bag, tab, voidSlot = EquipmentManager_UnpackLocation(location);
 	if ( not player and not bank and not bags and not voidStorage ) then -- Invalid location
 		return;
 	end
 
-	local id, name, textureName, count, durability, maxDurability, invType, locked, start, duration, enable, setTooltip, gem1, gem2, gem3, _;
+	local id, name, textureName, count, durability, maxDurability, invType, locked, start, duration, enable, setTooltip, gem1, gem2, gem3, quality, _;
 	if ( voidStorage ) then
-		id, textureName = GetVoidItemInfo(slot);
-		setTooltip = function () GameTooltip:SetVoidItem(slot) end;
+		id, textureName, _, _, _, quality = GetVoidItemInfo(tab, voidSlot);
+		setTooltip = function () GameTooltip:SetVoidItem(tab, voidSlot) end;
 	elseif ( not bags ) then -- and (player or bank) 
 		id = GetInventoryItemID("player", slot);
 		name, _, _, _, _, _, _, _, invType, textureName = GetItemInfo(id);
@@ -287,6 +290,7 @@ function EquipmentManager_GetItemInfoByL
 			count = GetInventoryItemCount("player", slot);
 			durability, maxDurability = GetInventoryItemDurability(slot);
 			start, duration, enable = GetInventoryItemCooldown("player", slot);
+			quality = GetInventoryItemQuality("player", slot);
 		end
 		
 		setTooltip = function () GameTooltip:SetInventoryItem("player", slot) end;
@@ -294,7 +298,7 @@ function EquipmentManager_GetItemInfoByL
 	else -- bags
 		id = GetContainerItemID(bag, slot);
 		name, _, _, _, _, _, _, _, invType = GetItemInfo(id);
-		textureName, count, locked = GetContainerItemInfo(bag, slot);
+		textureName, count, locked, quality = GetContainerItemInfo(bag, slot);
 		start, duration, enable = GetContainerItemCooldown(bag, slot);
 		
 		durability, maxDurability = GetContainerItemDurability(bag, slot);
@@ -303,7 +307,7 @@ function EquipmentManager_GetItemInfoByL
 		gem1, gem2, gem3 = GetContainerItemGems(bag, slot);
 	end
 	
-	return id, name, textureName, count, durability, maxDurability, invType, locked, start, duration, enable, setTooltip, gem1, gem2, gem3;
+	return id, name, textureName, count, durability, maxDurability, invType, locked, start, duration, enable, setTooltip, gem1, gem2, gem3, quality;
 end
 
 function EquipmentManager_EquipSet (name)