diff --git a/inventory/classes/common.yml b/inventory/classes/common.yml
index a216acd0bfd4c1f40e913c19120186b4badd14c7..21a79de3e6112b32f23f0c3badbe479ca3809d58 100644
--- a/inventory/classes/common.yml
+++ b/inventory/classes/common.yml
@@ -331,12 +331,12 @@ parameters:
       running_glideins_total:
         curb: 3200
         max: 3500
-      # At wisconsin we only run MINIAOD
+      # If a) Site is UCSD or Caltech and any MINI or MINISIM OR b) Site==Wisconsin and only MINI data OR  c) Site==MIT and only a subset of MINI
       match_expr: >-
-        (glidein["attrs"].get("GLIDEIN_Country") in job["DESIRED_Overflow_Region"].split(",")) and ( glidein["attrs"].get("GLIDEIN_CMSSite") not in ["T2_US_Wisconsin", "T2_US_MIT"] or "MINIAODSIM" not in job["DESIRED_CMSDataset"] )
-      # Same idea,  UCSD and Caltech can get jobs looking for specific MINIAOD and MINIAODSIM whilst Wisconsin can only get jobs looking for MINIAOD.
+        ( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_UCSD", "T2_US_Caltech"] ) or ( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_Wisconsin"] and "MINIAODSIM" not in job["DESIRED_CMSDataset"] ) or ( glidein["attrs"].get("GLIDEIN_CMSSite") in ["T2_US_MIT"] and ( "UL2016" in job["DESIRED_CMSDataset"] or "UL2017" in job["DESIRED_CMSDataset"]))
+      # Same idea,  UCSD and Caltech can get jobs looking for any  MINIAOD and MINIAODSIM,  Wisconsin can only get jobs looking for MINIAOD and MIT only gets jobs looking for a subset of MINIAOD
       start_expr: >-
-        ifthenelse(CMS_ALLOW_OVERFLOW isnt undefined,CMS_ALLOW_OVERFLOW=?="True", undefined) && (CRAB_UserRole=!="production") && ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region),undefined) &&( ((GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech") && (regexp("/*/RunIISummer(19|20)UL(16|17|18).*/MINIAODSIM", DESIRED_CMSDataset) || regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset))) || ((GLIDEIN_CMSSite=?="T2_US_Wisconsin" || GLIDEIN_CMSSite=?="T2_US_MIT") && regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset)) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )
+        ifthenelse(CMS_ALLOW_OVERFLOW isnt undefined,CMS_ALLOW_OVERFLOW=?="True", undefined) && (CRAB_UserRole=!="production") && ifthenelse(DESIRED_Overflow_Region isnt undefined, stringListMember(GLIDEIN_Country,DESIRED_Overflow_Region),undefined) &&( ((GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech") && (regexp("/*/RunIISummer(19|20)UL(16|17|18).*/MINIAODSIM", DESIRED_CMSDataset) || regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset))) || ( GLIDEIN_CMSSite=?="T2_US_Wisconsin"  && regexp("/*/Run201[6,7,8].*/MINIAOD/.*UL201[6,7,8].*", DESIRED_CMSDataset) ) || ( GLIDEIN_CMSSite=?="T2_US_MIT"  && regexp("/*/Run201[6,7].*/MINIAOD/.*UL201[6,7].*", DESIRED_CMSDataset) ) ) && ( isUndefined(RequestGPUs) || RequestGPUs =?= 0 )
       factory_query_expr: >-
         (GLIDEIN_CMSSite=?="T2_US_UCSD" || GLIDEIN_CMSSite=?="T2_US_Caltech" || GLIDEIN_CMSSite=?="T2_US_Wisconsin" || GLIDEIN_CMSSite=?="T2_US_MIT") && stringListMember("CMS",GLIDEIN_Supported_VOs) && !ifthenelse(CMS_Local_Entry isnt undefined, CMS_Local_Entry, False)
       job_query_expr: >-