diff --git a/misc-scripts/schema_patcher.pl b/misc-scripts/schema_patcher.pl
index 42716c338e6a778f639746448a7d008ba99802ad..bca8ef841117b9d6f5098fb322c629214a21105d 100755
--- a/misc-scripts/schema_patcher.pl
+++ b/misc-scripts/schema_patcher.pl
@@ -499,11 +499,13 @@ while ( $sth->fetch() ) {
     printf( "Considering '%s' [%s,%s,%d]\n",
             $database, defined($species) ? $species : 'unknown',
             $schema_type, $schema_version );
-    $opt_oldest = ($schema_version == $latest_release) ? $latest_release : $latest_release - 1;
+    if ($opt_fixlast) {
+      $opt_oldest = ($schema_version == $latest_release) ? $latest_release : $latest_release - 1;
+
+      next "Cannot use --fixlast with a schema release too far from the latest release; oldest allowed is $opt_oldest. Skipping $database" if $schema_version < ($opt_oldest);
+      printf("--fixlast is active. Will apply patches for version %d and up (if available)\n", $opt_oldest);
+    }
 
-    next "Cannot use --fixlast with a schema release too far from the latest release; oldest allowed is $opt_oldest. Skipping $database" 
-      if $schema_version < ($opt_oldest);
-    printf("--fixlast is active. Will apply patches for version %d and up (if available)\n", $opt_oldest);
   }
   else { 
     if($opt_verbose) {