Propel, переводя неправильные имена таблиц

->joinOrigin('origin') ->joinLocation('location', \Criteria::LEFT_JOIN) ->where("LOWER(IF(location.code IS NOT NULL,location.code, origin.code)) NOT IN ?", $not_in_old_job_search_array) 

Является частью запроса Propel, который я переношу из raw SQL. location и origin – это два внешних ключа (объявленных как таковые в schema.xml), которые указывают на одну и ту же таблицу. Propel добавляет соединения правильно:

 INNER JOIN `idb_countries` `origin` ON (idb_ads.idb_countries_ididb_origin=origin.ididb_countries) LEFT JOIN `idb_countries` `location` ON (idb_ads.idb_countries_ididb_job_location=location.ididb_countries) 

но предложение where выходит так:

 LOWER(IF(idb_countries.code IS NOT NULL,idb_countries.code, idb_countries.code)) NOT IN (:p5,:p6,:p7)) 

Как я могу избежать этого?

EDIT: Моя версия движка 1.7.0, а моя версия php – 5.4.9