diff --git a/components/streams/src/feed.cpp b/components/streams/src/feed.cpp
index 69ac3c24a1687592eafb5331efa74dbbe8c08ccc..4d19eb5423d3cc7c6a413b761ae85524ef891ad1 100644
--- a/components/streams/src/feed.cpp
+++ b/components/streams/src/feed.cpp
@@ -526,9 +526,11 @@ std::string Feed::getName(const std::string &puri) {
 			auto *cfgble = ftl::config::find(puri);
 			if (cfgble) {
 				auto &j = cfgble->getConfig();
-				return (j.is_structured()) ? j.value("name", j.value("uri", uri.getPathSegment(-1))) : uri.getPathSegment(-1);
+				std::string name = (j.is_structured()) ? j.value("name", j.value("uri", uri.getPathSegment(-1))) : uri.getPathSegment(-1);
+				return (name.size() == 0) ? uri.getHost() : name;
 			} else {
-				return uri.getPathSegment(-1);
+				std::string name = uri.getPathSegment(-1);
+				return (name.size() == 0) ? uri.getHost() : name;
 			}
 			/*auto n = net_->findOne<std::string>("get_cfg", puri);
 			if (n) {