diff --git a/events.xml b/events.xml
index 6b282b16ec58571294c674aafa7e03b2c8ac65da..95423a17b34c08022e76e847bcd98e8522df0012 100644
--- a/events.xml
+++ b/events.xml
@@ -3,4 +3,5 @@
     <event on="onSiteSave" fire="\QUI\Bricks\Events::onSiteSave"/>
     <event on="onSmartyInit" fire="\QUI\Bricks\Events::onSmartyInit"/>
     <event on="onPackageSetup" fire="\QUI\Bricks\Events::onPackageSetup"/>
+    <event on="onDeleteProject" fire="\QUI\Bricks\Events::onDeleteProject"/>
 </events>
diff --git a/src/QUI/Bricks/Events.php b/src/QUI/Bricks/Events.php
index d3da466be7c672dd87d8631b5a6d236badaf381a..b6f7e14a5f258e9862896faa95a93ccf8f802ec4 100644
--- a/src/QUI/Bricks/Events.php
+++ b/src/QUI/Bricks/Events.php
@@ -160,6 +160,42 @@ public static function onSiteSave($Site)
         $Site->save();
     }
 
+    /**
+     * event: on project delete
+     *
+     * @param string $project
+     */
+    public static function onDeleteProject($project)
+    {
+        // delete uid entries
+        $uidTable = QUI\Bricks\Manager::getUIDTable();
+
+        try {
+            QUI::getDataBase()->delete($uidTable, [
+                'project' => $project
+            ]);
+        } catch (QUI\Exception $Exception) {
+            QUI\System\Log::addError($Exception->getMessage());
+        }
+
+        // delete brocks project tables
+        // Mainproject_de_bricksCache
+        $Table  = QUI::getDataBase()->table();
+        $tables = $Table->getTables();
+
+        foreach ($tables as $table) {
+            if (\strpos($table, $project) !== 0) {
+                continue;
+            }
+
+            if (\strpos($table, '_bricksCache') === false) {
+                continue;
+            }
+
+            $Table->delete($table);
+        }
+    }
+
     /**
      * Event : on smarty init
      * add new brickarea function