diff --git a/apps/workflowengine/lib/Controller/AWorkflowController.php b/apps/workflowengine/lib/Controller/AWorkflowController.php
index 2e3186e380d2acaefc185d6339ea29a060925d0a..8d51600c7b22e0160657153bda191b69b8913dc6 100644
--- a/apps/workflowengine/lib/Controller/AWorkflowController.php
+++ b/apps/workflowengine/lib/Controller/AWorkflowController.php
@@ -112,7 +112,7 @@ abstract class AWorkflowController extends OCSController {
 		} catch (\DomainException $e) {
 			throw new OCSForbiddenException($e->getMessage(), $e);
 		} catch(DBALException $e) {
-			throw new OCSException('An internal error occurred', $e);
+			throw new OCSException('An internal error occurred', $e->getCode(), $e);
 		}
 	}
 
@@ -139,7 +139,7 @@ abstract class AWorkflowController extends OCSController {
 		} catch (\DomainException $e) {
 			throw new OCSForbiddenException($e->getMessage(), $e);
 		} catch(DBALException $e) {
-			throw new OCSException('An internal error occurred', $e);
+			throw new OCSException('An internal error occurred', $e->getCode(), $e);
 		}
 	}
 
@@ -157,7 +157,7 @@ abstract class AWorkflowController extends OCSController {
 		} catch (\DomainException $e) {
 			throw new OCSForbiddenException($e->getMessage(), $e);
 		} catch(DBALException $e) {
-			throw new OCSException('An internal error occurred', $e);
+			throw new OCSException('An internal error occurred', $e->getCode(), $e);
 		}
 	}
 }