diff --git a/ompi/communicator/comm_init.c b/ompi/communicator/comm_init.c
index 195fb8eba0a3c3e4e0d35a003e2064734d476825..1fb3295c2304263430b33416d5a799b4d7be156a 100644
--- a/ompi/communicator/comm_init.c
+++ b/ompi/communicator/comm_init.c
@@ -53,7 +53,6 @@
 #include "ompi/dpm/dpm.h"
 #include "ompi/memchecker.h"
 
-#define SOCKET_PATH "/home/beach/Dokumente/Uni/Informatik_BA/Bachelorarbeit_MPI/sockets_mpi_test/socket"
 #define FD_STDIN 0
 #define BUFFLEN 64
 
@@ -106,7 +105,11 @@ static int getProcessAgentRank(uint32_t jobid, uint32_t vpid, size_t size) {
     }
 
     strAddr.sun_family=AF_LOCAL;     /* Unix domain */
-    strcpy(strAddr.sun_path, SOCKET_PATH);
+    const char * socket_path = getenv("DPM_AGENT_SOCKET"); // check for success
+    if (NULL == socket_path) {
+        errorExit("Could not find DPM_AGENT_SOCKET env");
+    }
+    strcpy(strAddr.sun_path, socket_path);
     lenAddr=sizeof(strAddr.sun_family)+strlen(strAddr.sun_path);
     if (connect(fdSock, (struct sockaddr*)&strAddr, lenAddr) !=0 ) {
         errorExit("connect");
diff --git a/rank-swapper-agent/client.sh b/rank-swapper-agent/client.sh
index 50f1a093fcef685c236547f4fcbbe06971a31f17..249f6e8181850d3f3cd1735d6a4bd59449ab41d9 100755
--- a/rank-swapper-agent/client.sh
+++ b/rank-swapper-agent/client.sh
@@ -1,6 +1,7 @@
 #!/bin/bash
 
 export OMPI=/home/openmpi-install
+export DPM_AGENT_SOCKET=$OMPI/dpm_socket_socket
 export PATH=$PATH:$OMPI/bin
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OMPI/bin
 
diff --git a/rank-swapper-agent/hello_c.c b/rank-swapper-agent/hello_c.c
index 4693db3eb76df6b9ac72db49269c4998f9b2646a..c010612fa3f9df9e5823d70bbc468d3d2f462141 100644
--- a/rank-swapper-agent/hello_c.c
+++ b/rank-swapper-agent/hello_c.c
@@ -15,7 +15,6 @@
 
 #include "mpi.h"
 
-#define SOCKET_PATH "/home/ompi/openmpi-rank-swapper-agent/socket"
 #define BUFFLEN 64
 
 /* Spawn Modes (dynamic job spawning):
diff --git a/rank-swapper-agent/locserv.c b/rank-swapper-agent/locserv.c
index 1628c9e213ff8989e5ddfff0d4579ce0a4720a93..eae21803b332cbec2cc389f20925424569461269 100644
--- a/rank-swapper-agent/locserv.c
+++ b/rank-swapper-agent/locserv.c
@@ -23,7 +23,6 @@
 #include <time.h>
 #include <unistd.h>
 
-#define SOCKET_PATH "/home/ompi/openmpi-rank-swapper-agent/socket"
 #define MAX_CONNECTIONS 10
 #define RANK_STR_LEN 8
 #define BUFFLEN  64
@@ -134,10 +133,15 @@ int main(void) {
     if ((fdSock=socket(PF_UNIX, SOCK_STREAM, 0)) < 0) {
         errorExit("socket");
     }
-    
-    unlink (SOCKET_PATH);    /* Sicherstellung, daß SOCKET_PATH nicht existiert */
+
+    // create unix domain socket in the installation directory of OpenMPI
+    const char * socket_path = getenv("DPM_AGENT_SOCKET"); // check for success
+    if (NULL == socket_path) {
+        errorExit("Could not find DPM_AGENT_SOCKET env");
+    }
+    unlink (socket_path);    /* Make sure that socket_path does not exist yet */
     strAddr.sun_family=AF_LOCAL;    /* Unix Domain */
-    strcpy(strAddr.sun_path, SOCKET_PATH);
+    strcpy(strAddr.sun_path, socket_path);
     lenAddr=sizeof(strAddr.sun_family)+strlen(strAddr.sun_path);
     if (bind(fdSock, (struct sockaddr*)&strAddr, lenAddr) != 0) {
         errorExit("bind");
diff --git a/rank-swapper-agent/server.sh b/rank-swapper-agent/server.sh
index 2f2bdcdf5cad1c7f6d55370f8b93d44e3523869a..563310e0b6e25784aad1b76b95f129882b663d21 100755
--- a/rank-swapper-agent/server.sh
+++ b/rank-swapper-agent/server.sh
@@ -1,3 +1,5 @@
 #!/bin/bash
 
+export OMPI=/home/openmpi-install
+export DPM_AGENT_SOCKET=$OMPI/dpm_socket_socket
 ./locserv