diff --git a/src/ringdht/ringaccount.cpp b/src/ringdht/ringaccount.cpp
index 6cc5c2ca83d287522e2c0b72ab1bd6938df1882a..f0e6e8160c281356a7157aa5ea4c7f76785d9a09 100644
--- a/src/ringdht/ringaccount.cpp
+++ b/src/ringdht/ringaccount.cpp
@@ -695,7 +695,9 @@ RingAccount::createRingDevice(const dht::crypto::Identity& id)
     tlsPassword_ = {};
     identity_ = dev_id;
     ringDeviceId_ = dev_id.first->getPublicKey().getId().toString();
-    ringDeviceName_ = ringDeviceId_.substr(8);
+    ringDeviceName_ = ip_utils::getHostname();
+    if (ringDeviceName_.empty())
+        ringDeviceName_ = ringDeviceId_.substr(8);
 
     receipt_ = makeReceipt(id);
     RING_WARN("createRingDevice with %s", id.first->getPublicKey().getId().toString().c_str());