124c43d2511935aab2d1f56d0aea92c1bdb97d7c
braney
  Fri Jul 18 10:40:59 2025 -0700
more fixin's to hgLiftOver

diff --git src/hg/hgLiftOver/hgLiftOver.c src/hg/hgLiftOver/hgLiftOver.c
index e188bdd2698..58c3a21edbc 100644
--- src/hg/hgLiftOver/hgLiftOver.c
+++ src/hg/hgLiftOver/hgLiftOver.c
@@ -423,30 +423,34 @@
 fromDb = cartCgiUsualString(cart, HGLFT_FROMDB_VAR, "0");
 toOrg = cartCgiUsualString(cart, HGLFT_TOORG_VAR, "0");
 toDb = cartCgiUsualString(cart, HGLFT_TODB_VAR, "0");
 cartOrg = hOrganism(cartDb);
 
 if (sameWord(fromOrg,"0"))
     fromOrg = NULL;
 if (sameWord(fromDb,"0"))
     fromDb = NULL;
 if (sameWord(toOrg,"0"))
     toOrg = NULL;
 if (sameWord(toDb,"0"))
     toDb = NULL;
 if (sameWord(cartDb,"0"))
     cartDb = NULL;
+if ((fromDb != NULL) && !sameOk(fromOrg, hOrganism(fromDb)))
+    fromDb = NULL;
+if ((toDb != NULL) && !sameOk(toOrg, hOrganism(toDb)))
+    toDb = NULL;
 
 for (this = chainList; this != NULL; this = this->next)
     {
     if (sameOk(this->fromDb ,fromDb) && sameOk(this->toDb, toDb))
         {
         choice = this;
         break;
         }
     double score = scoreLiftOverChain(this, fromOrg, fromDb, toOrg, toDb, cartOrg, cartDb, dbRank, dbDbHash);
     if (score > bestScore)
 	{
 	choice = this;
 	bestScore = score;
 	}
     }