diff --git a/src/BizHawk.Bizware.BizwareGL/ArtManager.cs b/src/BizHawk.Bizware.BizwareGL/ArtManager.cs
index a247a38955..40e7661c5c 100644
--- a/src/BizHawk.Bizware.BizwareGL/ArtManager.cs
+++ b/src/BizHawk.Bizware.BizwareGL/ArtManager.cs
@@ -53,7 +53,7 @@ namespace BizHawk.Bizware.BizwareGL
 			AssertIsOpen(true);
 
 			Art a = new Art(this);
-			ArtLooseTextureAssociation[a] = tex;
+			ArtLooseTextureAssociation.Add((a, tex));
 			ManagedArts.Add(a);
 
 			return a;
@@ -79,7 +79,9 @@ namespace BizHawk.Bizware.BizwareGL
 			// add 2 extra pixels for padding on all sides
 			var atlasItems = new List<TexAtlas.RectItem>();
 			foreach (var kvp in ArtLooseTextureAssociation)
-				atlasItems.Add(new TexAtlas.RectItem(kvp.Value.Width+2, kvp.Value.Height+2, kvp));
+			{
+				atlasItems.Add(new TexAtlas.RectItem(kvp.Bitmap.Width + 2, kvp.Bitmap.Height + 2, kvp));
+			}
 			var results = TexAtlas.PackAtlas(atlasItems);
 
 			// this isn't supported yet:
@@ -93,10 +95,7 @@ namespace BizHawk.Bizware.BizwareGL
 			for (int i = 0; i < atlasItems.Count; i++)
 			{
 				var item = results[0].Items[i];
-				var artAndBitmap = (KeyValuePair<Art, BitmapBuffer>)item.Item;
-				var art = artAndBitmap.Key;
-				var bitmap = artAndBitmap.Value;
-
+				var (art, bitmap) = ((Art, BitmapBuffer)) item.Item;
 				int w = bitmap.Width;
 				int h = bitmap.Height;
 				int dx = item.X + 1;
@@ -123,8 +122,7 @@ namespace BizHawk.Bizware.BizwareGL
 			//if we're closed forever, then forget all the original bitmaps
 			if (forever)
 			{
-				foreach (var kvp in ArtLooseTextureAssociation)
-					kvp.Value.Dispose();
+				foreach (var tuple in ArtLooseTextureAssociation) tuple.Bitmap.Dispose();
 				ArtLooseTextureAssociation.Clear();
 			}
 
@@ -150,7 +148,7 @@ namespace BizHawk.Bizware.BizwareGL
 		/// <summary>
 		/// This is used to remember the original bitmap sources for art files. Once the ArtManager is closed forever, this will be purged
 		/// </summary>
-		private readonly Dictionary<Art, BitmapBuffer> ArtLooseTextureAssociation = new Dictionary<Art, BitmapBuffer>();
+		private readonly List<(Art Art, BitmapBuffer Bitmap)> ArtLooseTextureAssociation = new();
 
 		/// <summary>
 		/// Physical texture resources, which exist after this ArtManager has been closed