diff --git a/src/cmd/9term/bsdpty.c b/src/cmd/9term/bsdpty.c
index 4836d24..fe0367f 100644
--- a/src/cmd/9term/bsdpty.c
+++ b/src/cmd/9term/bsdpty.c
@@ -11,6 +11,7 @@
 #endif
 #include <fcntl.h>
 #include <libc.h>
+#include <draw.h>
 #include "term.h"
 
 #define debug 0
@@ -75,7 +76,14 @@
 	ws.ws_row = row;
 	ws.ws_col = col;
 	ws.ws_xpixel = dx;
+
+
+	// Leave "is this a hidpi display" in the low bit of the ypixel height for mc.
+	dy &= ~1;
+	if(display->dpi >= DefaultDPI*3/2)
+		dy |= 1;
 	ws.ws_ypixel = dy;
+
 	if(ws.ws_row != ows.ws_row || ws.ws_col != ows.ws_col){
 		if(ioctl(rcfd, TIOCSWINSZ, &ws) < 0)
 			fprint(2, "ioctl: %r\n");
diff --git a/src/cmd/draw/mc.c b/src/cmd/draw/mc.c
index 3f9c21f..c24d67b 100644
--- a/src/cmd/draw/mc.c
+++ b/src/cmd/draw/mc.c
@@ -268,9 +268,10 @@
 getwidth(void)
 {
 	CFsys *fs;
-	char buf[500], *p, *f[10];
+	char buf[500], *p, *q, *f[10];
 	int fd, n, nf;
 	struct winsize ws;
+	Font *f1;
 
 	if((p = getenv("winid")) != nil){
 		fs = nsmount("acme", "");
@@ -306,6 +307,22 @@
 	if(ws.ws_xpixel == 0)
 		font = nil;
 	if(font){
+		// 9term leaves "is this a hidpi display" in the low bit of the ypixel height.
+		if(ws.ws_ypixel&1) {
+			// need hidpi font.
+			// loadhifpi creates a font that crashes in stringwidth,
+			// for reasons i don't understand.
+			// do it ourselves
+			p = getenv("font");
+			q = strchr(p, ',');
+			f1 = nil;
+			if(q != nil)
+				f1 = openfont(nil, q+1);
+			if(f1 != nil)
+				font = f1;
+			else
+				ws.ws_xpixel /= 2;
+		}
 		mintab = stringwidth(font, "0");
 		if((p = getenv("tabstop")) != nil)
 			tabwid = atoi(p)*mintab;
