diff --git a/contrib/findmissing/initdb_chromeos.py b/contrib/findmissing/initdb_chromeos.py
index f59124f..fbecabc 100755
--- a/contrib/findmissing/initdb_chromeos.py
+++ b/contrib/findmissing/initdb_chromeos.py
@@ -31,9 +31,8 @@
     subprocess.run(['git', 'checkout', common.chromeos_branch(branch)], check=True)
     subprocess.run(['git', 'pull'], check=True)
 
-    subprocess_cmd = ['git', 'log', '--no-merges', '--abbrev=12',
-                      '--oneline', '--reverse', '%s..' % start]
-    commits = subprocess.check_output(subprocess_cmd, encoding='utf-8', errors='ignore')
+    cmd = ['git', 'log', '--abbrev=12', '--oneline', '--reverse', '%s..' % start]
+    commits = subprocess.check_output(cmd, encoding='utf-8', errors='ignore')
 
     c = db.cursor()
     last = None
@@ -47,6 +46,15 @@
 
             description = elem[1].rstrip('\n')
 
+            # Always mark as handled since we don't want to look at this commit again
+            last = sha
+
+            # Nothing else to do if the commit is a merge
+            l = subprocess.check_output(['git', 'rev-list', '--parents', '-n', '1', sha],
+                                        encoding='utf-8', errors='ignore')
+            if len(l.split(' ')) > 2:
+                continue
+
             ps = subprocess.Popen(['git', 'show', sha], stdout=subprocess.PIPE)
             spid = subprocess.check_output(['git', 'patch-id', '--stable'],
                     stdin=ps.stdout, encoding='utf-8', errors='ignore')
@@ -62,8 +70,6 @@
             if stable_found:
                 continue
 
-            last = sha
-
             usha = None
             if not CHROMIUM.match(description):
                 usha = common.search_upstream_sha(sha)
