diff --git a/src/test/java/net/geant/nmaas/nmservice/deployment/containerorchestrators/kubernetes/KubernetesManagerTest.java b/src/test/java/net/geant/nmaas/nmservice/deployment/containerorchestrators/kubernetes/KubernetesManagerTest.java
index e731123936fbfa7898f805c50e70e49dbe1d8ce1..71dfd8bbe46d70db352e86aa141dea8486767566 100644
--- a/src/test/java/net/geant/nmaas/nmservice/deployment/containerorchestrators/kubernetes/KubernetesManagerTest.java
+++ b/src/test/java/net/geant/nmaas/nmservice/deployment/containerorchestrators/kubernetes/KubernetesManagerTest.java
@@ -2,6 +2,7 @@ package net.geant.nmaas.nmservice.deployment.containerorchestrators.kubernetes;
 
 import com.google.common.collect.Sets;
 import net.geant.nmaas.externalservices.kubernetes.KubernetesClusterIngressManager;
+import net.geant.nmaas.externalservices.kubernetes.RemoteClusterManager;
 import net.geant.nmaas.externalservices.kubernetes.entities.IngressControllerConfigOption;
 import net.geant.nmaas.gitlab.GitLabManager;
 import net.geant.nmaas.nmservice.deployment.containerorchestrators.kubernetes.components.cluster.DefaultKClusterValidator;
@@ -69,6 +70,7 @@ public class KubernetesManagerTest {
     private final KubernetesClusterIngressManager ingressManager = mock(KubernetesClusterIngressManager.class);
     private final GitLabManager gitLabManager = mock(GitLabManager.class);
     private final JanitorService janitorService = mock(JanitorService.class);
+    private final RemoteClusterManager remoteClusterManager = mock(RemoteClusterManager.class);
 
     private static final Identifier DEPLOYMENT_ID = Identifier.newInstance("deploymentId");
 
@@ -82,7 +84,8 @@ public class KubernetesManagerTest {
             ingressResourceManager,
             ingressManager,
             gitLabManager,
-            janitorService
+            janitorService,
+            remoteClusterManager
     );
 
     @BeforeEach
diff --git a/src/test/java/net/geant/nmaas/nmservice/deployment/containerorchestrators/kubernetes/components/helm/HelmCommandPreparationTest.java b/src/test/java/net/geant/nmaas/nmservice/deployment/containerorchestrators/kubernetes/components/helm/HelmCommandPreparationTest.java
index 74b90525221a703be60760041acfa9ccb517c425..9bd0e19eb80a4419e723e216700fddcc7187bc41 100644
--- a/src/test/java/net/geant/nmaas/nmservice/deployment/containerorchestrators/kubernetes/components/helm/HelmCommandPreparationTest.java
+++ b/src/test/java/net/geant/nmaas/nmservice/deployment/containerorchestrators/kubernetes/components/helm/HelmCommandPreparationTest.java
@@ -57,7 +57,7 @@ public class HelmCommandPreparationTest {
                         RELEASE_NAME,
                         null,
                         CHART_NAME_WITH_REPO,
-                        null, false).asString(),
+                        null, false, null).asString(),
                 equalTo(CORRECT_HELM_INSTALL_COMMAND_USING_CHART_FROM_REPO));
         assertThat(
                 HelmInstallCommand.commandWithRepo(
@@ -66,7 +66,7 @@ public class HelmCommandPreparationTest {
                         RELEASE_NAME,
                         null,
                         CHART_NAME_WITH_REPO,
-                        CHART_VERSION, false).asString(),
+                        CHART_VERSION, false, null).asString(),
                 equalTo(CORRECT_HELM_INSTALL_COMMAND_USING_CHART_FROM_REPO_WITH_VERSION));
     }
 
@@ -79,7 +79,7 @@ public class HelmCommandPreparationTest {
                         RELEASE_NAME,
                         null,
                         CHART_NAME_WITH_REPO,
-                        null, false).asString(),
+                        null, false, null).asString(),
                 equalTo(CORRECT_HELM_INSTALL_COMMAND_FOR_v3_USING_CHART_FROM_REPO));
         assertThat(
                 HelmInstallCommand.commandWithRepo(
@@ -88,7 +88,7 @@ public class HelmCommandPreparationTest {
                         RELEASE_NAME,
                         null,
                         CHART_NAME_WITH_REPO,
-                        CHART_VERSION, false).asString(),
+                        CHART_VERSION, false, null).asString(),
                 equalTo(CORRECT_HELM_INSTALL_COMMAND_FOR_V3_USING_CHART_FROM_REPO_WITH_VERSION));
     }
 
@@ -101,7 +101,7 @@ public class HelmCommandPreparationTest {
                         RELEASE_NAME,
                         null,
                         CHART_NAME_WITH_REPO,
-                        null, true).asString(),
+                        null, true, null).asString(),
                 equalTo(CORRECT_HELM_INSTALL_COMMAND_USING_CHART_FROM_REPO + TLS));
         assertThat(
                 HelmInstallCommand.commandWithRepo(
@@ -110,7 +110,7 @@ public class HelmCommandPreparationTest {
                         RELEASE_NAME,
                         null,
                         CHART_NAME_WITH_REPO,
-                        CHART_VERSION, true).asString(),
+                        CHART_VERSION, true, null).asString(),
                 equalTo(CORRECT_HELM_INSTALL_COMMAND_USING_CHART_FROM_REPO_WITH_VERSION + TLS));
     }
 
@@ -127,7 +127,7 @@ public class HelmCommandPreparationTest {
                         arguments,
                         CHART_NAME_WITH_REPO,
                         CHART_VERSION,
-                        false).asString(),
+                        false, null).asString(),
                 allOf(containsString(CORRECT_HELM_INSTALL_COMMAND_FIRST_PART),
                         containsString("testPersistenceName"),
                         containsString("testStorageClass"))
@@ -147,7 +147,7 @@ public class HelmCommandPreparationTest {
                         arguments,
                         CHART_NAME_WITH_REPO,
                         CHART_VERSION,
-                        true).asString(),
+                        true, null).asString(),
                 allOf(containsString(CORRECT_HELM_INSTALL_COMMAND_FIRST_PART),
                         containsString("testPersistenceName"),
                         containsString("testStorageClass"),
diff --git a/src/test/java/net/geant/nmaas/nmservice/deployment/containerorchestrators/kubernetes/components/helm/HelmKServiceManagerTest.java b/src/test/java/net/geant/nmaas/nmservice/deployment/containerorchestrators/kubernetes/components/helm/HelmKServiceManagerTest.java
index b3e27ed59448daf424638912499f0d4a3de3f265..f743955611888d0dc852135850bdb170cf8e77df 100644
--- a/src/test/java/net/geant/nmaas/nmservice/deployment/containerorchestrators/kubernetes/components/helm/HelmKServiceManagerTest.java
+++ b/src/test/java/net/geant/nmaas/nmservice/deployment/containerorchestrators/kubernetes/components/helm/HelmKServiceManagerTest.java
@@ -5,6 +5,11 @@ import net.geant.nmaas.externalservices.kubernetes.KubernetesClusterIngressManag
 import net.geant.nmaas.externalservices.kubernetes.KubernetesClusterNamespaceService;
 import net.geant.nmaas.externalservices.kubernetes.entities.IngressCertificateConfigOption;
 import net.geant.nmaas.externalservices.kubernetes.entities.IngressResourceConfigOption;
+import net.geant.nmaas.externalservices.kubernetes.entities.KCluster;
+import net.geant.nmaas.externalservices.kubernetes.entities.KClusterDeployment;
+import net.geant.nmaas.externalservices.kubernetes.entities.KClusterIngress;
+import net.geant.nmaas.externalservices.kubernetes.entities.KClusterState;
+import net.geant.nmaas.externalservices.kubernetes.entities.NamespaceConfigOption;
 import net.geant.nmaas.nmservice.deployment.containerorchestrators.kubernetes.KubernetesRepositoryManager;
 import net.geant.nmaas.nmservice.deployment.containerorchestrators.kubernetes.entities.KubernetesNmServiceInfo;
 import net.geant.nmaas.nmservice.deployment.containerorchestrators.kubernetes.entities.KubernetesTemplate;
@@ -18,6 +23,7 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.mockito.ArgumentCaptor;
 
+import java.time.OffsetDateTime;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
@@ -119,7 +125,8 @@ public class HelmKServiceManagerTest {
                 eq("namespace"),
                 eq("descriptiveDeploymentId"),
                 k8sTemplateArg.capture(),
-                argumentsArg.capture(), null
+                argumentsArg.capture(),
+                eq(null)
         );
         assertThat(argumentsArg.getValue()).isNotEmpty();
         assertThat(argumentsArg.getValue().size()).isEqualTo(11);
@@ -142,8 +149,9 @@ public class HelmKServiceManagerTest {
         verify(helmCommandExecutor, times(1)).executeHelmInstallCommand(
                 eq("namespace"),
                 eq("descriptiveDeploymentId"),
-                any(),
-                any(), null
+                any(KubernetesTemplate.class),
+                any(Map.class),
+                eq(null)
         );
     }
 
@@ -228,4 +236,63 @@ public class HelmKServiceManagerTest {
         );
     }
 
+    @Test
+    void shouldDeployServiceWithKubeconfigPath() {
+        when(namespaceService.namespace("domain")).thenReturn("namespace");
+        when(ingressManager.getResourceConfigOption()).thenReturn(IngressResourceConfigOption.DEPLOY_FROM_CHART);
+        when(ingressManager.getIngressPerDomain()).thenReturn(false);
+        when(ingressManager.getSupportedIngressClass()).thenReturn("testIngressClass");
+        when(ingressManager.getTlsSupported()).thenReturn(true);
+        when(ingressManager.getIssuerOrWildcardName()).thenReturn("testIssuerName");
+        when(ingressManager.getCertificateConfigOption()).thenReturn(IngressCertificateConfigOption.USE_LETSENCRYPT);
+
+
+        KClusterDeployment mockDeployment = KClusterDeployment.builder()
+                .namespaceConfigOption(NamespaceConfigOption.CREATE_NAMESPACE)
+                .defaultNamespace("default-namespace")
+                .defaultStorageClass("default-storage-class")
+                .smtpServerHostname("smtp.example.com")
+                .smtpServerPort(587)
+                .smtpServerUsername("user@example.com")
+                .smtpServerPassword("password")
+                .smtpFromDefaultDomain("example.com")
+                .forceDedicatedWorkers(true)
+                .build();
+
+        KClusterIngress mockIngress = KClusterIngress.builder().resourceConfigOption(IngressResourceConfigOption.NOT_USED).build();
+
+
+        KCluster mockCluster = KCluster.builder()
+                .id(1L)
+                .name("TestCluster")
+                .codename("test-cluster")
+                .description("Mocked Kubernetes Cluster")
+                .creationDate(OffsetDateTime.now())
+                .modificationDate(OffsetDateTime.now())
+                .clusterConfigFile("mock-cluster-config")
+                .pathConfigFile("mock/path/to/kubeconfig")
+                .state(KClusterState.UNKNOWN)
+                .currentStateSince(OffsetDateTime.now())
+                .contactEmail("test@example.com")
+                .deployment(mockDeployment)
+                .ingress(mockIngress)
+                .build();
+
+        KubernetesNmServiceInfo service = repositoryManager.loadService(deploymentId);
+        service.setRemoteCluster(mockCluster);
+        when(repositoryManager.loadService(deploymentId)).thenReturn(service);
+
+        manager.deployService(deploymentId);
+
+        ArgumentCaptor<String> kubeconfigPathArg = ArgumentCaptor.forClass(String.class);
+        verify(helmCommandExecutor, times(1)).executeHelmInstallCommand(
+                eq("namespace"),
+                eq("descriptiveDeploymentId"),
+                any(KubernetesTemplate.class),
+                any(Map.class),
+                kubeconfigPathArg.capture()
+        );
+        assertThat(kubeconfigPathArg.getValue()).isEqualTo("mock/path/to/kubeconfig");
+    }
+
 }