diff --git a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/client/CatalogDbClient.java b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/client/CatalogDbClient.java
index a0e2409..dbe69d9 100644
--- a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/client/CatalogDbClient.java
+++ b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/client/CatalogDbClient.java
@@ -433,13 +433,6 @@
 				.queryParam(ACTION,action).build());
 	}
 	
-	public ControllerSelectionReference getControllerSelectionReferenceByVnfType(String vnfType) {
-		return this.getSingleResource(controllerSelectionReferenceClient, UriBuilder
-				.fromUri(endpoint + "/controllerSelectionReference/search/findControllerSelectionReferenceByVnfType")
-						.queryParam("VNF_TYPE", vnfType).build());
-
-	}
-	
 	public ControllerSelectionReference getControllerSelectionReferenceByVnfTypeAndActionCategory(String vnfType, String actionCategory) {
 		return this.getSingleResource(controllerSelectionReferenceClient, UriBuilder
 				.fromUri(endpoint + "/controllerSelectionReference/search/findControllerSelectionReferenceByVnfTypeAndActionCategory")
diff --git a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/data/repository/ControllerSelectionReferenceRepository.java b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/data/repository/ControllerSelectionReferenceRepository.java
index ad1bbc3..ad162b5 100644
--- a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/data/repository/ControllerSelectionReferenceRepository.java
+++ b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/data/repository/ControllerSelectionReferenceRepository.java
@@ -29,9 +29,7 @@
 	@RepositoryRestResource(collectionResourceRel = "controllerSelectionReference", path = "controllerSelectionReference")
 	public interface ControllerSelectionReferenceRepository extends JpaRepository<ControllerSelectionReference, String> {
 		
-		public ControllerSelectionReference findControllerSelectionReferenceByVnfType(@Param("VNF_TYPE") String vnfType);
-		
 		public ControllerSelectionReference findControllerSelectionReferenceByVnfTypeAndActionCategory(@Param("VNF_TYPE") String vnfType, 
 				@Param("ACTION_CATEGORY") String actionCategory);
 		
-	}
\ No newline at end of file
+	}
diff --git a/mso-catalog-db/src/test/java/org/onap/so/db/catalog/ControllerSelectionReferenceTest.java b/mso-catalog-db/src/test/java/org/onap/so/db/catalog/ControllerSelectionReferenceTest.java
index f793fd7..9aa2ca0 100644
--- a/mso-catalog-db/src/test/java/org/onap/so/db/catalog/ControllerSelectionReferenceTest.java
+++ b/mso-catalog-db/src/test/java/org/onap/so/db/catalog/ControllerSelectionReferenceTest.java
@@ -42,16 +42,6 @@
 	@Autowired
 	private ControllerSelectionReferenceRepository controllerSelectionReferenceRepository;
 	
-	
-	@Test
-	public void Find_ControllerNameByVnfType_Test() {
-		String vnfType = "vLoadBalancerMS/vLoadBalancerMS 0";
-		String controllerName = "APPC";
-		ControllerSelectionReference controller = controllerSelectionReferenceRepository.findControllerSelectionReferenceByVnfType(vnfType);
-		assertEquals(vnfType, controller.getVnfType());
-		assertEquals(controllerName, controller.getControllerName());
-	}
-	
 	@Test
 	public void Find_ControllerNameByVnfTypeAndAction_Test() {
 		String vnfType = "vLoadBalancerMS/vLoadBalancerMS 0";
diff --git a/mso-catalog-db/src/test/resources/data.sql b/mso-catalog-db/src/test/resources/data.sql
index 58bde0e..9da6d13 100644
--- a/mso-catalog-db/src/test/resources/data.sql
+++ b/mso-catalog-db/src/test/resources/data.sql
@@ -649,4 +649,5 @@
 INSERT INTO `cloud_sites` (`ID`, `REGION_ID`, `IDENTITY_SERVICE_ID`, `CLOUD_VERSION`, `CLLI`, `CLOUDIFY_ID`, `PLATFORM`, `ORCHESTRATOR`, `LAST_UPDATED_BY`, `CREATION_TIMESTAMP`, `UPDATE_TIMESTAMP`) VALUES ('mtn13', 'mtn13', 'MTN13', '2.5', 'MDT13', 'mtn13', NULL, 'orchestrator', 'MSO_USER', '2018-07-17 14:06:28', '2018-07-17 14:06:28');
 
 INSERT INTO `controller_selection_reference` (`VNF_TYPE`, `CONTROLLER_NAME`, `ACTION_CATEGORY`) VALUES
-('vLoadBalancerMS/vLoadBalancerMS 0', 'APPC', 'ConfigScaleOut');
+('vLoadBalancerMS/vLoadBalancerMS 0', 'APPC', 'ConfigScaleOut'),
+('vLoadBalancerMS/vLoadBalancerMS 0', 'APPC', 'HealthCheck');
