diff --git a/bootstrap-definitions.php b/bootstrap-definitions.php
index 40adf680d89666f0fcf242d7920a3b4c6403996e..7bd308efd6b892919a659a9473e1bbb7f76dcbd9 100644
--- a/bootstrap-definitions.php
+++ b/bootstrap-definitions.php
@@ -37,7 +37,7 @@ return [
             'handler' => $handlerStack,
         ]);
     },
-    Gitlab\Client::class   => function (ContainerInterface $container) {
+    Gitlab\Client::class => function (ContainerInterface $container) {
         $builder = new Gitlab\HttpClient\Builder(
             $container->get(ClientInterface::class),
             new RequestFactory(),
diff --git a/lib/GitlabController.php b/lib/GitlabController.php
index 61fe66a384df2a01acc4e51cef825b0c68857d79..b75c86fa11d1c77b53f8bb00bb0944ca6cc0aa24 100644
--- a/lib/GitlabController.php
+++ b/lib/GitlabController.php
@@ -22,7 +22,7 @@ abstract class GitlabController extends Controller
         $this->setCache(StudipCacheFactory::getCache(), 'gitlab/');
 
         $this->gitlab_project_id = Config::get()->getValue('TRAC2GITLAB_GITLAB_PROJECT_ID');
-        $this->gitlab = app(Client::class);
+        $this->gitlab = app()->get(Client::class);
     }
 
     protected function fetchAll(AbstractApi $api, string $method, array $parameters = []): array
diff --git a/lib/Plugin.php b/lib/Plugin.php
index 35069854ab065ad8c68e82c6c8180861c84e8626..8f0d2b6b16c2310757208a47fe09c6cc70623985 100644
--- a/lib/Plugin.php
+++ b/lib/Plugin.php
@@ -9,17 +9,16 @@ abstract class Plugin extends StudIPPlugin
 {
     protected function setupDiContainer()
     {
-        $builder = new DI\ContainerBuilder();
-        $builder->useAutowiring(false);
-        $builder->addDefinitions(__DIR__ . '/../bootstrap-definitions.php');
-        $container = $builder->build();
+        $container = DIContainer::getInstance();
 
-        $combinedContainer = new CombinedContainer(
-            $container,
-            DIContainer::getInstance()
-        );
+        $definitions = require __DIR__ . '/../bootstrap-definitions.php';
 
-        DIContainer::setInstance($combinedContainer);
+        foreach ($definitions as $name => $value) {
+            if ($value instanceof \Closure) {
+                $value = $value($container);
+            }
+            $container->set($name, $value);
+        }
     }
 
     public function perform($unconsumed_path)