diff --git a/yt_dlp/extractor/generic.py b/yt_dlp/extractor/generic.py
index b65194c604..f53122b20c 100644
--- a/yt_dlp/extractor/generic.py
+++ b/yt_dlp/extractor/generic.py
@@ -25,6 +25,7 @@ from ..utils import (
     parse_resolution,
     smuggle_url,
     str_or_none,
+    traverse_obj,
     try_call,
     unescapeHTML,
     unified_timestamp,
@@ -2839,8 +2840,9 @@ class GenericIE(InfoExtractor):
             try:
                 info = self._parse_jwplayer_data(
                     jwplayer_data, video_id, require_title=False, base_url=url)
-                self.report_detected('JW Player data')
-                return merge_dicts(info, info_dict)
+                if traverse_obj(info, 'formats', ('entries', ..., 'formats')):
+                    self.report_detected('JW Player data')
+                    return merge_dicts(info, info_dict)
             except ExtractorError:
                 # See https://github.com/ytdl-org/youtube-dl/pull/16735
                 pass