diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerClient.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerClient.java
index 5182a75..c9e2e88 100644
--- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerClient.java
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerClient.java
@@ -51,7 +51,7 @@
 
 public class ApplicationControllerClient {
 	
-	public static final String DEFAULT_CONTROLLER_TYPE = "appc";
+	public static final String DEFAULT_CONTROLLER_TYPE = "SDNC";
 
 	private static final String CLIENT_NAME = "MSO";
 
@@ -89,7 +89,7 @@
 		if (controllerType == null) {
 			controllerType = DEFAULT_CONTROLLER_TYPE;
 		}
-		this.controllerType = controllerType;
+		this.controllerType = controllerType.toUpperCase();
 		appCSupport = new ApplicationControllerSupport();
 	}
 	
@@ -115,6 +115,7 @@
 			if (controllerType == null) {
 				controllerType = DEFAULT_CONTROLLER_TYPE;
 			}
+			controllerType = controllerType.toUpperCase();
 			return AppcClientServiceFactoryProvider.getFactory(AppcLifeCycleManagerServiceFactory.class)
 					.createLifeCycleManagerStateful(new ApplicationContext(), getLCMProperties(controllerType));
 		} catch (AppcClientException e) {
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/appc/ApplicationControllerClientTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/appc/ApplicationControllerClientTest.java
index 6c2b23b..59be823 100644
--- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/appc/ApplicationControllerClientTest.java
+++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/appc/ApplicationControllerClientTest.java
@@ -44,13 +44,13 @@
 	@Test
 	public void testClientCreation() {
 		ApplicationControllerClient client = new ApplicationControllerClient("appc");
-		assertEquals(client.getControllerType(), "appc");
+		assertEquals(client.getControllerType(), "APPC");
 		assertNotNull(client.getAppCClient());
 	}
 
 	@Test
 	public void createRequest_CheckLock_RequestBuilt() {
-		ApplicationControllerClient client = new ApplicationControllerClient("appc");
+		ApplicationControllerClient client = new ApplicationControllerClient("APPC");
 		ActionIdentifiers actionIdentifiers = new ActionIdentifiers();
 		actionIdentifiers.setVnfId("vnfId");
 		CheckLockInput checkLockInput = (CheckLockInput) client.createRequest(Action.CheckLock, actionIdentifiers, null,
@@ -95,7 +95,7 @@
 
 	@Test
 	public void test_getLCMPropertiesHelper() {
-		ApplicationControllerClient client = new ApplicationControllerClient("appc");
+		ApplicationControllerClient client = new ApplicationControllerClient();
 		Properties properties = client.getLCMProperties();
 		assertEquals(properties.get("topic.read"), "APPC-TEST-AMDOCS2");
 		assertEquals(properties.get("topic.write"), "APPC-TEST-AMDOCS1-DEV3");
