diff --git a/NEWS b/NEWS
index 054059bfb..258723782 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,7 @@ ver 0.21.25 (not yet released)
   - fix crash when using "rangeid" while playing
 * database
   - simple: automatically scan new mounts
+  - upnp: fix compatibility with Plex DLNA
 * storage
   - fix disappearing mounts after mounting twice
   - udisks: fix reading ".mpdignore"
diff --git a/src/db/plugins/upnp/Object.hxx b/src/db/plugins/upnp/Object.hxx
index e17cdfbdd..e27fcfc2d 100644
--- a/src/db/plugins/upnp/Object.hxx
+++ b/src/db/plugins/upnp/Object.hxx
@@ -89,9 +89,18 @@ public:
 		tag.Clear();
 	}
 
+	gcc_pure
+	bool IsRoot() const noexcept {
+		return type == Type::CONTAINER && id == "0";
+	}
+
 	gcc_pure
 	bool Check() const noexcept {
-		return !id.empty() && !parent_id.empty() && !name.empty() &&
+		return !id.empty() &&
+			/* root nodes don't need a parent id and a
+			   name */
+			(IsRoot() || (!parent_id.empty() &&
+				      !name.empty())) &&
 			(type != UPnPDirObject::Type::ITEM ||
 			 item_class != UPnPDirObject::ItemClass::UNKNOWN);
 	}