diff --git a/include/php_setup.inc b/include/php_setup.inc
index c7901d14e4c6331e97595fe74a699c0a324ab511..3800f4036595d9b9dd4753709431ff8cb1f1a099 100644
--- a/include/php_setup.inc
+++ b/include/php_setup.inc
@@ -259,7 +259,10 @@ function gosaRaiseError($errno, $errstr, $errfile, $errline)
 
   /* Flush in case of fatal errors */
   set_error_handler('gosaRaiseError', E_WARNING | E_NOTICE | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE | E_STRICT);
-  if (preg_match('/^fatal/i', $errstr)) {
+  if (preg_match('/^fatal/i', $errstr) || (PHP_ERROR_FATAL == 'TRUE')) {
+    if (PHP_ERROR_FATAL == 'TRUE') {
+      $error_collector = str_replace('display: none;', '', $error_collector);
+    }
     echo $error_collector."</div>";
     flush();
     exit;
diff --git a/include/variables_common.inc b/include/variables_common.inc
index 709d889948dec9c844d8f566b508163b9e88b22f..7e429fad1821e297532d0885b614f1e97719f5b9 100644
--- a/include/variables_common.inc
+++ b/include/variables_common.inc
@@ -75,4 +75,9 @@ define ("CONFIGRDN", "cn=config,ou=fusiondirectory,"); /*! Define FusionDirector
  */
 define ("PHP_MIN_VERSION", "5.4.0");
 
+/*!
+ * \brief Toggle crashing on PHP error, used for test suites
+ */
+define ('PHP_ERROR_FATAL', 'FALSE');
+
 ?>