diff --git a/library/HTMLPurifier/ChildDef/Table.php b/library/HTMLPurifier/ChildDef/Table.php
index cb6b3e6c..67c7e953 100644
--- a/library/HTMLPurifier/ChildDef/Table.php
+++ b/library/HTMLPurifier/ChildDef/Table.php
@@ -164,7 +164,7 @@ class HTMLPurifier_ChildDef_Table extends HTMLPurifier_ChildDef
}
}
- if (empty($content)) {
+ if (empty($content) && $thead === false && $tfoot === false) {
return false;
}
diff --git a/tests/HTMLPurifier/ChildDef/TableTest.php b/tests/HTMLPurifier/ChildDef/TableTest.php
index 49e96b65..aba6b1dc 100644
--- a/tests/HTMLPurifier/ChildDef/TableTest.php
+++ b/tests/HTMLPurifier/ChildDef/TableTest.php
@@ -44,6 +44,22 @@ class HTMLPurifier_ChildDef_TableTest extends HTMLPurifier_ChildDefHarness
);
}
+ public function testTheadOnlyNotRemoved()
+ {
+ $this->assertResult(
+ ' ',
+ 'a '
+ );
+ }
+
+ public function testTbodyOnlyNotRemoved()
+ {
+ $this->assertResult(
+ 'a