diff --git a/binaries/data/mods/public/gui/session/input.js b/binaries/data/mods/public/gui/session/input.js
index 189a368..c716774 100644
--- a/binaries/data/mods/public/gui/session/input.js
+++ b/binaries/data/mods/public/gui/session/input.js
@@ -229,7 +229,7 @@ function getActionInfo(action, target)
 		}
 		else if (targetState.resourceSupply)
 		{
-			var resourceType = targetState.resourceSupply.type.specific;
+			var resourceType = targetState.resourceSupply.type;
 			if (targetState.resourceSupply.type.generic === "treasure")
 			{
 				cursor = "action-gather-" + targetState.resourceSupply.type.generic;
diff --git a/binaries/data/mods/public/simulation/components/UnitAI.js b/binaries/data/mods/public/simulation/components/UnitAI.js
index 2d38f61..f94897e 100644
--- a/binaries/data/mods/public/simulation/components/UnitAI.js
+++ b/binaries/data/mods/public/simulation/components/UnitAI.js
@@ -942,8 +942,9 @@ var UnitFsmSpec = {
 						var nearby = this.FindNearbyResource(function (ent, type, template) {
 							return (
 								ent != oldTarget
-								&& type.specific == oldType.specific
-								&& (type.specific != "meat" || oldTemplate == template)
+								&& ((type.generic == "treasure" && oldType.generic == "treasure")
+								|| (type.specific == oldType.specific
+								&& (type.specific != "meat" || oldTemplate == template)))
 							);
 						});
 						if (nearby)
@@ -977,8 +978,9 @@ var UnitFsmSpec = {
 					// Also don't switch to a different type of huntable animal
 					var nearby = this.FindNearbyResource(function (ent, type, template) {
 						return (
-							type.specific == resourceType
-							&& (type.specific != "meat" || resourceTemplate == template)
+							(type.generic == "treasure" && resourceType.generic == "treasure")
+							|| (type.specific == resourceType.specific
+							&& (type.specific != "meat" || resourceTemplate == template))
 						);
 					});
 
@@ -1126,8 +1128,9 @@ var UnitFsmSpec = {
 					// Also don't switch to a different type of huntable animal
 					var nearby = this.FindNearbyResource(function (ent, type, template) {
 						return (
-							type.specific == resourceType.specific
-							&& (type.specific != "meat" || resourceTemplate == template)
+							(type.generic == "treasure" && resourceType.generic == "treasure")
+							|| (type.specific == resourceType.specific
+							&& (type.specific != "meat" || resourceTemplate == template))
 						);
 					});
 					if (nearby)
