diff --git a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
index 3978a7d3ae..83906d745f 100644
--- a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
+++ b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs
@@ -86,6 +86,10 @@ namespace OpenSim.Region.Framework.Scenes
/// The assets gathered
public void GatherAssetUuids(UUID assetUuid, AssetType assetType, IDictionary assetUuids)
{
+ // avoid infinite loops
+ if (assetUuids.ContainsKey(assetUuid))
+ return;
+
try
{
assetUuids[assetUuid] = assetType;