diff --git a/etc/raw_socket/.gitignore b/etc/raw_socket/.gitignore
deleted file mode 100644
index cdf73671f14517e6101d00d84aa2b8e43729ee4c..0000000000000000000000000000000000000000
--- a/etc/raw_socket/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-raw_socket
-
diff --git a/etc/raw_socket/Makefile b/etc/raw_socket/Makefile
deleted file mode 100644
index af261855d35ddad9b644cd0cf62f9aa963eb15ff..0000000000000000000000000000000000000000
--- a/etc/raw_socket/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# raw_socket
-
-PREFIX = /usr/local
-BDIR = $(DESTDIR)/$(PREFIX)
-
-.PHONY: all clean install
-
-all: raw_socket
-
-raw_socket: raw_socket.c
-	$(CC) -o $@ raw_socket.c
-
-install: raw_socket
-	install -D raw_socket $(BDIR)/bin/raw_socket
-	setcap cap_net_raw,cap_ipc_lock,cap_sys_nice+ep $(BDIR)/bin/raw_socket
-
-clean:
-	rm -f raw_socket
diff --git a/etc/raw_socket/raw_socket.c b/etc/raw_socket/raw_socket.c
deleted file mode 100644
index 32322d9bea97949fc4b18b26e07790f59db58e99..0000000000000000000000000000000000000000
--- a/etc/raw_socket/raw_socket.c
+++ /dev/null
@@ -1,115 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <sysexits.h>
-#include <unistd.h>
-
-#include <arpa/inet.h>
-#include <net/ethernet.h>
-#include <net/if.h>
-#include <linux/if_packet.h>
-#include <sys/ioctl.h>
-#include <sys/socket.h>
-#include <sys/un.h>
-
-#define ETH_P_ECAT 0x88A4
-
-extern char **environ;
-
-int main(int argc, char *argv[])
-{
-   fprintf(stderr, "raw_socket was build: %s\n", __TIMESTAMP__);
-   int i, ret, ifindex, psock;
-   struct ifreq ifr;
-   struct sockaddr_ll sll;
-   struct timeval timeout;
-   int argssize = argc + 1;
-   char *args[argssize];
-   char sock[5];
-
-	if (argc < 3) {
-		fprintf(stderr, "usage: %s [ifname] [binary] <args>\n", argv[0]);
-		return EX_USAGE;
-	}
-
-	/* we use RAW packet socket, with packet type ETH_P_ECAT */
-	psock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ECAT));
-	if (psock < 0) {
-		perror("socket");
-      		fprintf(stderr, "raw_socket error: socket SOCK_RAW\n");
-		return EX_OSERR;
-	}
-
-   timeout.tv_sec =  0;
-   timeout.tv_usec = 1;
-   fprintf(stderr, "raw_socket: setsockopt SO_RCVTIMEO\n");
-   ret = setsockopt(psock, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
-   if (ret != 0) {
-      perror("setsockopt");
-      fprintf(stderr, "raw_socket error: setsockopt SO_RCVTIMEO\n");
-      return EX_OSERR;
-   }
-
-   fprintf(stderr, "raw_socket: setsockopt SO_SNDTIMEO\n");
-   ret = setsockopt(psock, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(timeout));
-   if (ret != 0) {
-      perror("setsockopt");
-      fprintf(stderr, "raw_socket error: setsockopt SO_SNDTIMEO\n");
-      return EX_OSERR;
-   }
-
-   i = 1;
-   fprintf(stderr, "raw_socket: setsockopt SO_DONTROUTE\n");
-   ret = setsockopt(psock, SOL_SOCKET, SO_DONTROUTE, &i, sizeof(i));
-   if (ret != 0) {
-      perror("setsockopt");
-      fprintf(stderr, "raw_socket error: setsockopt SO_DONTROUTE\n");
-      return EX_OSERR;
-   }
-   /* connect socket to NIC by name */
-   strcpy(ifr.ifr_name, argv[1]);
-   ret = ioctl(psock, SIOCGIFINDEX, &ifr);
-   ifindex = ifr.ifr_ifindex;
-   strcpy(ifr.ifr_name, argv[1]);
-   ifr.ifr_flags = 0;
-   /* reset flags of NIC interface */
-   ret = ioctl(psock, SIOCGIFFLAGS, &ifr);
-   /* set flags of NIC interface, here promiscuous and broadcast */
-   ifr.ifr_flags = ifr.ifr_flags | IFF_PROMISC | IFF_BROADCAST;
-   ret = ioctl(psock, SIOCGIFFLAGS, &ifr);
-   /* bind socket to protocol, in this case RAW EtherCAT */
-   sll.sll_family = AF_PACKET;
-   sll.sll_ifindex = ifindex;
-   sll.sll_protocol = htons(ETH_P_ECAT);
-   ret = bind(psock, (struct sockaddr *)&sll, sizeof(sll));
-   /* setup ethernet headers in tx buffers so we don't have to repeat it */
-
-   fprintf(stderr, "raw_socket: setenv ARMARX_LD_LIBRARY_PATH\n");
-   ret = setenv("LD_LIBRARY_PATH", getenv("ARMARX_LD_LIBRARY_PATH"), 1);
-   if (ret != 0) {
-      perror("setenv");
-      fprintf(stderr, "raw_socket error: setenv ARMARX_LD_LIBRARY_PATH\n");
-      return EX_OSERR;
-   }
-
-   i=0;
-   fprintf(stderr, "ARGUMENT %d/%d: %s\n", i+1, argssize, strrchr(argv[2], '/'));
-   args[i++] = strrchr(argv[2], '/');
-
-   snprintf(sock, 5, "%d", psock);
-
-   fprintf(stderr, "ARGUMENT %d/%d: %s\n", i+1, argssize, sock);
-   args[i++] = sock;
-   for (i = 2; argv[i] != NULL; i++) {
-      fprintf(stderr, "ARGUMENT %d/%d: %s\n", i+1, argssize, argv[i]);	
-      args[i] = argv[i];
-   }
-   fprintf(stderr, "ARGUMENT %d/%d: NULL\n", i+1, argssize);
-   args[i] = NULL;
-   fprintf(stderr, "executing %s\n", argv[2]);
-   execve(argv[2], args, environ);
-   fprintf(stderr, "executing %s...done!\n", argv[2]);
-   perror("execv");
-
-	return EX_OSERR;
-}
diff --git a/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.cpp b/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.cpp
index 726895f8350d49bc3166558f8126005997f2adb9..404dc1f33dc6f300d52970386be46665ca6971e5 100644
--- a/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.cpp
@@ -38,7 +38,7 @@ namespace armarx::armem::robot_state
     bool
     VirtualRobotReader::synchronizeRobot(VirtualRobot::Robot& robot, const armem::Time& timestamp)
     {
-        const auto packages = armarx::CMakePackageFinder::FindAllArmarXSourcePackages();
+        const static auto packages = armarx::CMakePackageFinder::FindAllArmarXSourcePackages();
         const auto package = armarx::ArmarXDataPath::getProject(packages, robot.getFilename());
 
         const robot::RobotDescription robotDescription{
diff --git a/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotWriter.cpp b/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotWriter.cpp
index 15f2e8776698f9078b6b0535c1b6282476802589..47519748cad8fe1c5a0ca37db35f215e0359197b 100644
--- a/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotWriter.cpp
+++ b/source/RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotWriter.cpp
@@ -47,7 +47,7 @@ namespace armarx::armem::robot_state
     PackagePath
     resolvePackagePath(const std::string& filename)
     {
-        const auto packages = armarx::CMakePackageFinder::FindAllArmarXSourcePackages();
+        const static auto packages = armarx::CMakePackageFinder::FindAllArmarXSourcePackages();
         PackagePath packagePath(armarx::ArmarXDataPath::getProject(packages, filename), filename);
         return packagePath;
     }