diff --git a/VectoCore/VectoCore/Models/Simulation/Data/ModalResultField.cs b/VectoCore/VectoCore/Models/Simulation/Data/ModalResultField.cs
index 46d2c202b032fcc14ff6aebd3e184bb45162c08c..def15e9b1c9f4bcf45f4d650fd0e529273ed51eb 100644
--- a/VectoCore/VectoCore/Models/Simulation/Data/ModalResultField.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Data/ModalResultField.cs
@@ -30,6 +30,7 @@
 */
 
 using System;
+using System.Collections.Concurrent;
 using System.Reflection;
 using System.Text.RegularExpressions;
 using TUGraz.VectoCommon.Utils;
@@ -473,6 +474,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Data
 
 	public static class ModalResultFieldExtensionMethods
 	{
+		private static ConcurrentDictionary<ModalResultField, ModalResultFieldAttribute> _attributeDictionary =
+			new ConcurrentDictionary<ModalResultField, ModalResultFieldAttribute>();
 		public static string GetName(this ModalResultField field)
 		{
 			return GetAttribute(field).Name ?? field.ToString();
@@ -480,7 +483,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Data
 
 		public static string GetCaption(this ModalResultField field)
 		{
-			return GetAttribute(field).Caption ?? GetAttribute(field).Name ?? field.ToString();
+			var attribute = GetAttribute(field);
+			return attribute.Caption ?? attribute.Name ?? field.ToString();
 		}
 
 		public static string GetShortCaption(this ModalResultField field)
@@ -496,7 +500,14 @@ namespace TUGraz.VectoCore.Models.Simulation.Data
 
 		public static ModalResultFieldAttribute GetAttribute(this ModalResultField field)
 		{
-			return (ModalResultFieldAttribute)Attribute.GetCustomAttribute(ForValue(field), typeof(ModalResultFieldAttribute));
+			var attributeCached = _attributeDictionary.TryGetValue(field, out var attribute);
+			if (attributeCached) {
+				return attribute;
+			} else {
+				attribute = (ModalResultFieldAttribute)Attribute.GetCustomAttribute(ForValue(field), typeof(ModalResultFieldAttribute));
+				_attributeDictionary.TryAdd(field, attribute);
+			}
+			return attribute;
 		}
 
 		private static MemberInfo ForValue(ModalResultField field)