diff --git a/external/ipc/CMakeLists.txt b/external/ipc/CMakeLists.txt
index 4ba4e516cc971627d054667018d368fb3e75b382..e25b3fc13837ffd5b8f075fda9a314e2448bdf36 100644
--- a/external/ipc/CMakeLists.txt
+++ b/external/ipc/CMakeLists.txt
@@ -5,10 +5,9 @@
 
 download_project_if_needed(PROJECT         fles_ipc
                            GIT_REPOSITORY  "https://github.com/cbm-fles/flesnet"
-                           GIT_TAG         "7329aa41f7a63cca1ddb775d3952ae4307681e0d"
+                           GIT_TAG         "5e01c9818b0b8d9268fb118eaae8d920544e2bab"
                            GIT_STASH       TRUE
                            SOURCE_DIR      ${CMAKE_CURRENT_SOURCE_DIR}/ipc
-                           PATCH_COMMAND   "patch -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/TimesliceMultiSubscriber_init.patch"
                            TEST_FILE       CMakeLists.txt
                            )
 
@@ -18,6 +17,7 @@ add_library(fles_logging SHARED ipc/lib/logging/log.cpp ipc/lib/logging/log.hpp)
 target_compile_definitions(fles_logging
   PUBLIC BOOST_LOG_DYN_LINK
   PUBLIC BOOST_LOG_USE_NATIVE_SYSLOG
+  PUBLIC BOOST_ERROR_CODE_HEADER_ONLY
 )
 
 target_include_directories(fles_logging PUBLIC ipc/lib/logging/)
@@ -62,10 +62,11 @@ ipc/lib/fles_ipc/TimesliceSubscriber.cpp
 ipc/lib/fles_ipc/TimesliceView.cpp
 ipc/lib/fles_ipc/TimesliceMultiInputArchive.cpp
 ipc/lib/fles_ipc/TimesliceMultiSubscriber.cpp
+ipc/lib/fles_ipc/TimesliceAutoSource.cpp
 )
 
 
-Set_Source_Files_Properties(${SRCS} COMPILE_FLAGS "-std=c++${CMAKE_CXX_STANDARD} -O3 -ggdb -msse4.2 -Wall -Wpedantic -Wextra -Winit-self -Wundef -Wold-style-cast -Woverloaded-virtual -Wwrite-strings -Wnon-virtual-dtor -fno-omit-frame-pointer")
+Set_Source_Files_Properties(${SRCS} COMPILE_FLAGS "-std=c++17 -O3 -ggdb -msse4.2 -Wall -Wpedantic -Wextra -Winit-self -Wundef -Wold-style-cast -Woverloaded-virtual -Wwrite-strings -Wnon-virtual-dtor -fno-omit-frame-pointer")
 
 Set(LIBRARY_NAME fles_ipc)
 If(UNIX AND NOT APPLE)
diff --git a/external/ipc/TimesliceMultiSubscriber_init.patch b/external/ipc/TimesliceMultiSubscriber_init.patch
deleted file mode 100644
index bcc17df7de048233e31e96f7edd0c6f70aefbde4..0000000000000000000000000000000000000000
--- a/external/ipc/TimesliceMultiSubscriber_init.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/lib/fles_ipc/TimesliceMultiSubscriber.cpp b/lib/fles_ipc/TimesliceMultiSubscriber.cpp
-index 1668a8c..24952c9 100644
---- a/lib/fles_ipc/TimesliceMultiSubscriber.cpp
-+++ b/lib/fles_ipc/TimesliceMultiSubscriber.cpp
-@@ -26,7 +26,7 @@ TimesliceMultiSubscriber::TimesliceMultiSubscriber(
-     L_(fatal) << "No server defined";
-     exit(1);
-   }
--  InitTimesliceSubscriber();
-+//  InitTimesliceSubscriber();
- }
- 
- void TimesliceMultiSubscriber::CreateHostPortFileList(std::string inputString) {
-diff --git a/lib/fles_ipc/TimesliceMultiSubscriber.hpp b/lib/fles_ipc/TimesliceMultiSubscriber.hpp
-index ed8e0d7..539a6e8 100644
---- a/lib/fles_ipc/TimesliceMultiSubscriber.hpp
-+++ b/lib/fles_ipc/TimesliceMultiSubscriber.hpp
-@@ -42,10 +42,11 @@ public:
- 
-   bool eos() const override { return sortedSource_.empty(); }
- 
-+  void InitTimesliceSubscriber();
-+
- private:
-   Timeslice* do_get() override;
- 
--  void InitTimesliceSubscriber();
-   void CreateHostPortFileList(std::string /*inputString*/);
-   std::unique_ptr<Timeslice> GetNextTimeslice();
- 
-