diff --git a/mo/jobs/protocols.py b/mo/jobs/protocols.py
index 0577ce486385396ac3b30a0f252b8e5db5053a67..cff9c948e56806af83364f56ba7ac90bf2354fc0 100644
--- a/mo/jobs/protocols.py
+++ b/mo/jobs/protocols.py
@@ -357,11 +357,11 @@ def _process_scan_file(args: ScanJobArgs) -> ScanJobResult:
 
     res = ScanJobResult()
     logger.debug(f'Scan: Analyzuji soubor {args.in_path}')
-    pdf = poppler.load_from_file(args.in_path)
-    if not pdf._document:
-        # XXX: Poppler neumí hlásit chybu při otevírání dokumentu (https://github.com/cbrunet/python-poppler/issues/48)
-        # Tak zatím saháme dovnitř a detekujeme si ji sami.
-        res.error = 'Soubor není ve formátu PDF'
+    try:
+        pdf = poppler.load_from_file(args.in_path)
+    except ValueError:
+        logger.warning('Scan: Poppler ohlásil chybu při otevírání')
+        res.error = 'Soubor není ve formátu PDF nebo je poškozený'
         return res
 
     renderer = poppler.PageRenderer()