diff --git a/product/PortalTransforms/transforms/safe_html.py b/product/PortalTransforms/transforms/safe_html.py
index d8aaac686bdee5dd4d30a85bdcec5d03005a1f16..2a8653dadf6faa285e604d9be766bc8c6131f44d 100644
--- a/product/PortalTransforms/transforms/safe_html.py
+++ b/product/PortalTransforms/transforms/safe_html.py
@@ -427,7 +427,7 @@ class SafeHTML:
             except IllegalHTML, inst:
                 data.setData(msg_pat % ("Error", str(inst)))
                 break
-            except HTMLParseError:
+            except (HTMLParseError, UnicodeDecodeError):
                 if repeat:
                     raise # try to repair only on first pass
                 # ouch !