diff --git a/src/Composer/Script/EventDispatcher.php b/src/Composer/Script/EventDispatcher.php
index 2b1a05767..00aebf883 100644
--- a/src/Composer/Script/EventDispatcher.php
+++ b/src/Composer/Script/EventDispatcher.php
@@ -103,16 +103,9 @@ class EventDispatcher
throw $e;
}
} else {
- $callback = function ($type, $buffer) use ($event, $callable) {
- $io = $event->getIO();
- if ('err' === $type) {
- $message = 'Script %s handling the %s event returned an error: %s';
- $io->write(sprintf(''.$message.'', $callable, $event->getName(), $buffer));
- } else {
- $io->write($buffer, false);
- }
- };
- $this->process->execute($callable, $callback);
+ if (0 !== $this->process->execute($callable, $callback)) {
+ $event->getIO()->write(sprintf('Script %s handling the %s event returned with an error: %s', $callable, $event->getName(), $this->process->getErrorOutput()));
+ }
}
}
}