--- librarian/rarian-info.c.orig 2008-09-02 16:38:09.982622444 +0200 +++ librarian/rarian-info.c 2008-09-02 17:07:36.206700155 +0200 @@ -665,8 +665,9 @@ while (l) { if ((l->reg->doc_name && !strcmp (uri, l->reg->doc_name)) || - (!strcmp (uri, l->reg->name))) { - if (!section || (*section && l->reg->section && !strcmp (l->reg->section, section))) { + (!strncmp (uri, l->reg->name, strlen(uri)))) { + if ((!section && !strcmp (uri, l->reg->name)) || + (section && *section && l->reg->section && !strcmp (l->reg->section, section))) { return l->reg; } else { best_result = l;