diff --git a/Classes/UpdateAliasJob.php b/Classes/UpdateAliasJob.php
index 129526c..1a4a9b0 100644
--- a/Classes/UpdateAliasJob.php
+++ b/Classes/UpdateAliasJob.php
@@ -21,6 +21,7 @@
 use Neos\Flow\Annotations as Flow;
 use Neos\Flow\Log\Utility\LogEnvironment;
 use Neos\Flow\Utility\Algorithms;
+use Psr\Http\Message\ResponseInterface;
 use Psr\Log\LoggerInterface;
 
 class UpdateAliasJob implements JobInterface
@@ -137,7 +138,7 @@ protected function cleanupOldIndices(): void
                 }
             }
         } catch (ApiException $exception) {
-            $response = json_decode($exception->getResponse(), true, 512, JSON_THROW_ON_ERROR);
+            $response = json_decode($exception->getResponse() instanceof ResponseInterface ? $exception->getResponse()->getBody()->__toString() : (string) $exception->getResponse(), true, 512, JSON_THROW_ON_ERROR);
             if ($response->error instanceof \stdClass) {
                 $this->logger->error(sprintf('Old indices for alias %s could not be removed. ElasticSearch responded with status %s, saying "%s: %s"', $this->indexPostfix, $response->status, $response->error->type, $response->error->reason), LogEnvironment::fromMethodName(__METHOD__));
             } else {