diff --git a/activation.hpp b/activation.hpp
index 4869c30..61c954e 100644
--- a/activation.hpp
+++ b/activation.hpp
@@ -13,7 +13,7 @@
 #include <xyz/openbmc_project/Software/ActivationBlocksTransition/server.hpp>
 
 #ifdef WANT_SIGNATURE_VERIFY
-#include <experimental/filesystem>
+#include <filesystem>
 #endif
 
 namespace phosphor
@@ -24,7 +24,7 @@
 {
 
 #ifdef WANT_SIGNATURE_VERIFY
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 #endif
 
 using AssociationList =
diff --git a/download_manager.cpp b/download_manager.cpp
index 6357ee8..a3811dd 100644
--- a/download_manager.cpp
+++ b/download_manager.cpp
@@ -8,7 +8,7 @@
 #include <unistd.h>
 
 #include <algorithm>
-#include <experimental/filesystem>
+#include <filesystem>
 #include <iostream>
 #include <phosphor-logging/elog-errors.hpp>
 #include <phosphor-logging/elog.hpp>
@@ -24,7 +24,7 @@
 
 using namespace sdbusplus::xyz::openbmc_project::Common::Error;
 using namespace phosphor::logging;
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 
 void Download::downloadViaTFTP(std::string fileName, std::string serverAddress)
 {
diff --git a/image_manager.cpp b/image_manager.cpp
index e132465..226199c 100644
--- a/image_manager.cpp
+++ b/image_manager.cpp
@@ -14,7 +14,7 @@
 #include <algorithm>
 #include <cstring>
 #include <elog-errors.hpp>
-#include <experimental/filesystem>
+#include <filesystem>
 #include <phosphor-logging/elog.hpp>
 #include <phosphor-logging/log.hpp>
 #include <string>
@@ -33,7 +33,7 @@
 using ManifestFail = Software::Image::ManifestFileFailure;
 using UnTarFail = Software::Image::UnTarFailure;
 using InternalFail = Software::Image::InternalFailure;
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 
 struct RemovablePath
 {
diff --git a/image_verify.hpp b/image_verify.hpp
index d52281c..7ec0661 100644
--- a/image_verify.hpp
+++ b/image_verify.hpp
@@ -7,7 +7,7 @@
 #include <sys/mman.h>
 #include <unistd.h>
 
-#include <experimental/filesystem>
+#include <filesystem>
 #include <set>
 #include <string>
 
@@ -18,7 +18,7 @@
 namespace image
 {
 
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 using Key_t = std::string;
 using Hash_t = std::string;
 using PublicKeyPath = fs::path;
diff --git a/item_updater.cpp b/item_updater.cpp
index 4e2ca45..9cac8dd 100644
--- a/item_updater.cpp
+++ b/item_updater.cpp
@@ -7,7 +7,7 @@
 #include "version.hpp"
 #include "xyz/openbmc_project/Software/Version/server.hpp"
 
-#include <experimental/filesystem>
+#include <filesystem>
 #include <fstream>
 #include <phosphor-logging/elog-errors.hpp>
 #include <phosphor-logging/elog.hpp>
@@ -32,7 +32,7 @@
 using namespace phosphor::logging;
 using namespace sdbusplus::xyz::openbmc_project::Software::Image::Error;
 using namespace phosphor::software::image;
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 using NotAllowed = sdbusplus::xyz::openbmc_project::Common::Error::NotAllowed;
 
 void ItemUpdater::createActivation(sdbusplus::message::message& msg)
diff --git a/serialize.cpp b/serialize.cpp
index 31ac971..f5aeb11 100644
--- a/serialize.cpp
+++ b/serialize.cpp
@@ -3,7 +3,7 @@
 #include "serialize.hpp"
 
 #include <cereal/archives/json.hpp>
-#include <experimental/filesystem>
+#include <filesystem>
 #include <fstream>
 #include <phosphor-logging/log.hpp>
 #include <sdbusplus/server.hpp>
@@ -16,7 +16,7 @@
 {
 
 using namespace phosphor::logging;
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 
 const std::string priorityName = "priority";
 const std::string purposeName = "purpose";
diff --git a/serialize.hpp b/serialize.hpp
index 42a057b..aada2bf 100644
--- a/serialize.hpp
+++ b/serialize.hpp
@@ -4,7 +4,6 @@
 
 #include "version.hpp"
 
-#include <experimental/filesystem>
 #include <string>
 
 namespace phosphor
@@ -14,7 +13,6 @@
 namespace updater
 {
 
-namespace fs = std::experimental::filesystem;
 using VersionPurpose =
     sdbusplus::xyz::openbmc_project::Software::server::Version::VersionPurpose;
 
diff --git a/static/flash.cpp b/static/flash.cpp
index 82c2393..9bb2bba 100644
--- a/static/flash.cpp
+++ b/static/flash.cpp
@@ -5,7 +5,7 @@
 #include "activation.hpp"
 #include "images.hpp"
 
-#include <experimental/filesystem>
+#include <filesystem>
 
 namespace
 {
@@ -19,7 +19,7 @@
 namespace updater
 {
 
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 
 void Activation::flashWrite()
 {
diff --git a/sync_manager.cpp b/sync_manager.cpp
index 48d773b..d44a81b 100644
--- a/sync_manager.cpp
+++ b/sync_manager.cpp
@@ -6,7 +6,7 @@
 #include <sys/wait.h>
 #include <unistd.h>
 
-#include <experimental/filesystem>
+#include <filesystem>
 #include <phosphor-logging/log.hpp>
 
 namespace phosphor
@@ -17,7 +17,7 @@
 {
 
 using namespace phosphor::logging;
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 
 int Sync::processEntry(int mask, const fs::path& entryPath)
 {
@@ -26,7 +26,8 @@
 
     if (pid == 0)
     {
-        fs::path dst(ALT_RWFS / entryPath);
+        fs::path dst(ALT_RWFS);
+        dst /= entryPath.relative_path();
 
         // rsync needs an additional --delete argument to handle file deletions
         // so need to differentiate between the different file events.
diff --git a/sync_manager.hpp b/sync_manager.hpp
index 45bfca4..98e7b95 100644
--- a/sync_manager.hpp
+++ b/sync_manager.hpp
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <experimental/filesystem>
+#include <filesystem>
 
 namespace phosphor
 {
@@ -9,7 +9,7 @@
 namespace manager
 {
 
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 
 /** @class Sync
  *  @brief Contains filesystem sync functions.
diff --git a/sync_watch.cpp b/sync_watch.cpp
index c0f0f21..e4942fd 100644
--- a/sync_watch.cpp
+++ b/sync_watch.cpp
@@ -5,7 +5,7 @@
 #include <sys/inotify.h>
 #include <unistd.h>
 
-#include <experimental/filesystem>
+#include <filesystem>
 #include <fstream>
 #include <phosphor-logging/log.hpp>
 
@@ -17,7 +17,6 @@
 {
 
 using namespace phosphor::logging;
-namespace fs = std::experimental::filesystem;
 
 void SyncWatch::addInotifyWatch(const fs::path& path)
 {
diff --git a/sync_watch.hpp b/sync_watch.hpp
index 126c50c..d85ac8c 100644
--- a/sync_watch.hpp
+++ b/sync_watch.hpp
@@ -2,7 +2,7 @@
 
 #include <systemd/sd-event.h>
 
-#include <experimental/filesystem>
+#include <filesystem>
 #include <functional>
 #include <map>
 
@@ -13,7 +13,7 @@
 namespace manager
 {
 
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 
 /** @class SyncWatch
  *
diff --git a/test/utest.cpp b/test/utest.cpp
index 20b2c2a..94e7c96 100644
--- a/test/utest.cpp
+++ b/test/utest.cpp
@@ -4,7 +4,7 @@
 #include <openssl/sha.h>
 #include <stdlib.h>
 
-#include <experimental/filesystem>
+#include <filesystem>
 #include <fstream>
 #include <iostream>
 #include <sstream>
diff --git a/watch.cpp b/watch.cpp
index 090e560..33d5ec0 100644
--- a/watch.cpp
+++ b/watch.cpp
@@ -9,7 +9,7 @@
 
 #include <cstddef>
 #include <cstring>
-#include <experimental/filesystem>
+#include <filesystem>
 #include <phosphor-logging/log.hpp>
 #include <stdexcept>
 #include <string>
@@ -23,7 +23,7 @@
 
 using namespace phosphor::logging;
 using namespace std::string_literals;
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 
 Watch::Watch(sd_event* loop, std::function<int(std::string&)> imageCallback) :
     imageCallback(imageCallback)
