diff --git a/ui-react/src/api/LoopCache.js b/ui-react/src/api/LoopCache.js
index b177230..03cec9f 100644
--- a/ui-react/src/api/LoopCache.js
+++ b/ui-react/src/api/LoopCache.js
@@ -31,7 +31,7 @@
 	updateMicroServiceProperties(name, newMsProperties) {
 			for (var policy in this.loopJsonCache["microServicePolicies"]) {
 				if (this.loopJsonCache["microServicePolicies"][policy]["name"] === name) {
-					this.loopJsonCache["microServicePolicies"][policy]["properties"] = newMsProperties;
+					this.loopJsonCache["microServicePolicies"][policy]["configurationsJson"] = newMsProperties;
 				}
 			}
 	}
@@ -91,7 +91,7 @@
 	getOperationalPolicyPropertiesForName(name) {
 		var opConfig = this.getOperationalPolicyForName(name);
 		if (opConfig !== null) {
-			return opConfig["properties"];
+			return opConfig["configurationsJson"];
 		}
 		return null;
 	}
@@ -118,7 +118,7 @@
 	getMicroServicePropertiesForName(name) {
 		var msConfig = this.getMicroServiceForName(name);
 		if (msConfig !== null) {
-			return msConfig["properties"];
+			return msConfig["configurationsJson"];
 		}
 		return null;
 	}
