diff --git a/ui-react/src/api/TemplateService.js b/ui-react/src/api/TemplateService.js
index 615a87e..eddd58d 100644
--- a/ui-react/src/api/TemplateService.js
+++ b/ui-react/src/api/TemplateService.js
@@ -55,19 +55,19 @@
 	        });
 	    }
 
-	static getBlueprintMicroServiceTemplate(templateName) {
+	static getBlueprintMicroServiceTemplateSvg(templateName) {
 	  	return fetch('/restservices/clds/v2/templates/' + templateName + ' /svgRepresentation', { method: 'GET', credentials: 'same-origin', })
 			.then(function (response) {
-			console.debug("getBlueprintMicroServiceTemplate response received: ", response.status);
+			console.debug("getBlueprintMicroServiceTemplateSvg response received: ", response.status);
 			if (response.ok) {
 				return response.text();
 			} else {
-				console.error("getBlueprintMicroServiceTemplates query failed");
+				console.error("getBlueprintMicroServiceTemplateSvg query failed");
 				return {};
 			}
 		})
 		.catch(function (error) {
-			console.error("getBlueprintMicroServiceTemplate error received", error);
+			console.error("getBlueprintMicroServiceTemplateSvg error received", error);
 			return {};
 		});
 	}
diff --git a/ui-react/src/components/dialogs/Loop/CreateLoopModal.js b/ui-react/src/components/dialogs/Loop/CreateLoopModal.js
index e382077..c5762a8 100644
--- a/ui-react/src/components/dialogs/Loop/CreateLoopModal.js
+++ b/ui-react/src/components/dialogs/Loop/CreateLoopModal.js
@@ -72,7 +72,7 @@
 
 	handleDropdownListChange(e) {
 		this.setState({ chosenTemplateName: e.value });
-		TemplateService.getBlueprintMicroServiceTemplates(e.value).then(svgXml => {
+		TemplateService.getBlueprintMicroServiceTemplateSvg(e.value).then(svgXml => {
 			if (svgXml.length !== 0) {
 				this.setState({ content: svgXml })
 			} else {
diff --git a/ui-react/src/components/dialogs/Tosca/ViewLoopTemplatesModal.js b/ui-react/src/components/dialogs/Tosca/ViewLoopTemplatesModal.js
index 18c4440..cec6722 100644
--- a/ui-react/src/components/dialogs/Tosca/ViewLoopTemplatesModal.js
+++ b/ui-react/src/components/dialogs/Tosca/ViewLoopTemplatesModal.js
@@ -113,7 +113,7 @@
 
 	getBlueprintMicroServiceTemplate(templateName) {
 	    if (typeof templateName !== "undefined") {
-		    TemplateService.getBlueprintMicroServiceTemplate(templateName).then(svgXml => {
+		    TemplateService.getBlueprintMicroServiceTemplateSvg(templateName).then(svgXml => {
 				if (svgXml.length !== 0) {
 					this.setState({ content: svgXml })
 				} else {
