diff --git a/src/de/uni_passau/fim/seibt/gitwrapper/repo/Commit.java b/src/de/uni_passau/fim/seibt/gitwrapper/repo/Commit.java
index 6848dd020ec7d8dbcc0c2d6d3de3f9faca674337..cba3eca21820a2cd66db8242e1dc02c0a0348522 100644
--- a/src/de/uni_passau/fim/seibt/gitwrapper/repo/Commit.java
+++ b/src/de/uni_passau/fim/seibt/gitwrapper/repo/Commit.java
@@ -4,10 +4,15 @@ import java.time.Instant;
 import java.time.OffsetDateTime;
 import java.time.ZoneId;
 import java.util.Optional;
+import java.util.function.Function;
 import java.util.logging.Logger;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import de.uni_passau.fim.seibt.gitwrapper.process.ProcessExecutor;
+import de.uni_passau.fim.seibt.gitwrapper.process.ProcessExecutor.ExecRes;
+import de.uni_passau.fim.seibt.gitwrapper.process.ToolWrapper;
+
 /**
  * A {@link Commit} made in a {@link Repository}.
  */
@@ -52,8 +57,22 @@ public class Commit extends Reference {
      * <code>false</code>, if not and an {@link Optional#EMPTY empty optional}, if an error occurred.
      */
     public Optional<Boolean> checkAncestry(Commit ancestor) {
-        return git.exec(repo.getDir(), " merge-base", "--is-ancestor", ancestor.getId(), id).map(execRes ->
-                execRes.exitCode == 0 ? Boolean.TRUE : execRes.exitCode == 1 ? Boolean.FALSE : null);
+        Optional<ExecRes> res = git.exec(repo.getDir(), "merge-base", "--is-ancestor", ancestor.getId(), id);
+        Function<ExecRes, Boolean> toBoolean = execRes -> {
+
+            if (execRes.exitCode == 0) {
+                return Boolean.TRUE;
+            }
+
+            if (execRes.exitCode == 1) {
+                return Boolean.FALSE;
+            }
+
+            LOG.warning(() -> "Failed to determine whether '" + ancestor + "' is an ancestor of '" + this + "'.");
+            return null;
+        };
+
+        return res.map(toBoolean);
     }
 
     /**