- // old_position already contains a trailing path separator
- string const absname = isabsolute ? name : d->old_position + name;
+ // both old_position and filePath() end with a path separator
+ string absname = isabsolute ? name : d->old_position + name;
+
+ // if old_position is set to origin, we need to do the equivalent of
+ // getReferencedFileName() (see readDocument())
+ if (!isabsolute && d->old_position == params().origin) {
+ FileName const test(addExtension(filePath() + name, ext));
+ if (test.exists())
+ absname = filePath() + name;
+ }