diff --git a/lib/template.php b/lib/template.php
index 01f0fc28b6091a3aa500786db84cd7d50e6c0c21..ae9ea187445912434622f0f0a8481ac9a2d98d44 100644
--- a/lib/template.php
+++ b/lib/template.php
@@ -547,7 +547,7 @@ class OC_Template{
 			$error_msg = '['.$exception->getCode().'] '.$error_msg;
 		}
 		$hint = $exception->getTraceAsString();
-		while ($exception = $exception->previous()) {
+		while (method_exists($exception,'previous') && $exception = $exception->previous()) {
 			$error_msg .= '<br/>Caused by: ';
 			if ($exception->getCode()) {
 				$error_msg .= '['.$exception->getCode().'] ';