diff --git a/build/signed-off-checker.php b/build/signed-off-checker.php
index d97f4cf48b74932cd42b2fe7dc09ef5bcb8367cf..2a9df75b45c237fdf1aa5153c51485228d60e92e 100644
--- a/build/signed-off-checker.php
+++ b/build/signed-off-checker.php
@@ -41,14 +41,6 @@ curl_setopt($ch, CURLOPT_USERAGENT, 'CI for Nextcloud (https://github.com/nextcl
 $response = curl_exec($ch);
 curl_close($ch);
 
-shell_exec(
-	sprintf(
-		'cd %s && git fetch',
-		escapeshellarg($baseDir),
-		escapeshellarg($pullRequestNumber)
-	)
-);
-
 $decodedResponse = json_decode($response, true);
 if(!is_array($decodedResponse) || count($decodedResponse) === 0) {
 	echo("Could not decode JSON response from GitHub API.\n");
@@ -63,33 +55,26 @@ foreach($decodedResponse as $commit) {
 		echo("No SHA specified in $commit\n");
 		exit(1);
 	}
-	$commits[] = $commit['sha'];
+	if(!isset($commit['commit']['message'])) {
+		echo("No commit message specified in $commit\n");
+		exit(1);
+	}
+	$commits[$commit['sha']] = $commit['commit']['message'];
 }
 
-
 if(count($commits) < 1) {
 	echo("Could not read commits.\n");
 	exit(1);
 }
 
 $notSignedCommits = [];
-foreach($commits as $commit) {
+foreach($commits as $commit => $message) {
 	if($commit === '') {
 		continue;
 	}
 
 	$signOffMessage = false;
-	$commitMessageLines =
-		explode(
-			"\n",
-			shell_exec(
-				sprintf(
-					'cd %s && git rev-list --format=%%B --max-count=1 %s',
-					$baseDir,
-					$commit
-				)
-			)
-		);
+	$commitMessageLines = explode("\n", $message);
 
 	foreach($commitMessageLines as $line) {
 		if(preg_match('/^Signed-off-by: .* <.*@.*>$/', $line)) {