diff --git a/src/core/hle/service/nwm/nwm.cpp b/src/core/hle/service/nwm/nwm.cpp
index 9fc0537c0..f3f906d3a 100644
--- a/src/core/hle/service/nwm/nwm.cpp
+++ b/src/core/hle/service/nwm/nwm.cpp
@@ -2,7 +2,7 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include <random>
+#include <cryptopp/osrng.h>
 #include "core/hle/service/nwm/nwm.h"
 #include "core/hle/service/nwm/nwm_cec.h"
 #include "core/hle/service/nwm/nwm_ext.h"
@@ -25,13 +25,11 @@ void Init() {
     AddService(new NWM_SOC);
     AddService(new NWM_TST);
 
-    std::random_device rd;
-    std::mt19937 gen(rd());
-    std::uniform_int_distribution<> dis(0, std::numeric_limits<u8>::max());
+    CryptoPP::AutoSeededRandomPool rng;
     auto mac = SharedPage::DefaultMac;
-    for (int i = 3; i < sizeof(SharedPage::MacAddress); ++i) {
-        mac[i] = static_cast<u8>(dis(gen));
-    }
+    // Keep the Nintendo 3DS MAC header and randomly generate the last 3 bytes
+    rng.GenerateBlock(static_cast<CryptoPP::byte*>(mac.data() + 3), 3);
+
     if (auto room_member = Network::GetRoomMember().lock()) {
         if (room_member->IsConnected()) {
             mac = static_cast<SharedPage::MacAddress>(room_member->GetMacAddress());
diff --git a/src/core/hle/service/nwm/nwm_uds.cpp b/src/core/hle/service/nwm/nwm_uds.cpp
index d120260d4..ecc2ed966 100644
--- a/src/core/hle/service/nwm/nwm_uds.cpp
+++ b/src/core/hle/service/nwm/nwm_uds.cpp
@@ -23,7 +23,6 @@
 #include "core/hle/service/nwm/uds_beacon.h"
 #include "core/hle/service/nwm/uds_connection.h"
 #include "core/hle/service/nwm/uds_data.h"
-#include "core/hle/shared_page.h"
 #include "core/memory.h"
 #include "network/network.h"
 
@@ -555,8 +554,9 @@ void NWM_UDS::RecvBeaconBroadcastData(Kernel::HLERequestContext& ctx) {
     rb.Push(RESULT_SUCCESS);
     rb.PushMappedBuffer(out_buffer);
 
-    LOG_DEBUG(Service_NWM, "called out_buffer_size=0x%08X, wlan_comm_id=0x%08X, id=0x%08X,"
-                           "unk1=0x%08X, unk2=0x%08X, offset=%zu",
+    LOG_DEBUG(Service_NWM,
+              "called out_buffer_size=0x%08X, wlan_comm_id=0x%08X, id=0x%08X,"
+              "unk1=0x%08X, unk2=0x%08X, offset=%zu",
               out_buffer_size, wlan_comm_id, id, unk1, unk2, cur_buffer_size);
 }