diff --git a/backend/dvi/mdvi-lib/fontmap.c b/backend/dvi/mdvi-lib/fontmap.c
index d95ce25..569ecf8 100644
--- a/backend/dvi/mdvi-lib/fontmap.c
+++ b/backend/dvi/mdvi-lib/fontmap.c
@@ -737,7 +737,7 @@ static int	mdvi_init_fontmaps(void)
 		return -1;
 	dstring_init(&input);
 	while((line = dgets(&input, in)) != NULL) {
-		char	*arg;
+		char	*arg, *map_file;
 		
 		SKIPSP(line);
 		if(*line < ' ' || *line == '#' || *line == '%')
@@ -748,6 +748,11 @@ static int	mdvi_init_fontmaps(void)
 			arg = getstring(line + 7, " \t", &line); *line = 0;
 			DEBUG((DBG_FMAP, "%s: loading fontmap\n", arg));
 			ent = mdvi_load_fontmap(arg);
+			if(ent == NULL) {
+				map_file = kpse_find_file(arg, kpse_fontmap_format, 0);
+				if (map_file)
+					ent = mdvi_load_fontmap(map_file);
+			}
 			if(ent == NULL)
 				mdvi_warning(_("%s: could not load fontmap\n"), arg);
 			else {
diff --git a/backend/dvi/mdvi-lib/t1.c b/backend/dvi/mdvi-lib/t1.c
index 4e7be63..5d8372c 100644
--- a/backend/dvi/mdvi-lib/t1.c
+++ b/backend/dvi/mdvi-lib/t1.c
@@ -143,7 +143,7 @@ char	*t1_lookup_font(const char *name, Ushort *hdpi, Ushort *vdpi)
 
 	/* get the `base' name */
 	if(ext) {
-		newname = mdvi_strdup(name);
+		newname = mdvi_strdup(info.fontfile);
 		newname[ext - info.fontfile - 1] = 0;
 	} else
 		newname = (char *)name; /* we don't modify this */
