diff --git a/include/errors/class_FatalError.inc b/include/errors/class_FatalError.inc
index 4f2b8547d4b490b72f91eddb0ea1430edf5d3e78..ae4841c20a62a668033f13cdc49dec42975b264d 100644
--- a/include/errors/class_FatalError.inc
+++ b/include/errors/class_FatalError.inc
@@ -84,10 +84,6 @@ class FatalError extends Error
       $config->get_cfg_value('displayerrors') == 'TRUE') {
       $trace    = FusionDirectoryError::formatTrace($this);
       $display  .= print_a($trace, TRUE);
-      $previous = $this;
-      while ($previous = $previous->getPrevious()) {
-        $display .= print_a(FusionDirectoryError::formatTrace($previous), TRUE);
-      }
     }
 
     $display .= '</body></html>';
diff --git a/include/errors/class_FusionDirectoryError.inc b/include/errors/class_FusionDirectoryError.inc
index ce1c925cc444259ff87afd5abbd0275ac4eaebe7..661e67b1d8f8bd8da328edd3be0c9c84991e921e 100644
--- a/include/errors/class_FusionDirectoryError.inc
+++ b/include/errors/class_FusionDirectoryError.inc
@@ -76,6 +76,10 @@ class FusionDirectoryError extends Error
       ]
     );
 
+    if ($previous = $throwable->getPrevious()) {
+      $trace[] = static::formatTrace($previous);
+    }
+
     return $trace;
   }
 }