diff --git a/popup.c b/popup.c
index fe34f2c0..4cd147e1 100644
--- a/popup.c
+++ b/popup.c
@@ -352,9 +352,11 @@ popup_make_pane(struct popup_data *pd, enum layout_type type)
 	new_wp = window_add_pane(wp->window, NULL, hlimit, 0);
 	layout_assign_pane(lc, new_wp, 0);
 
-	new_wp->fd = job_transfer(pd->job, &new_wp->pid, new_wp->tty,
-	    sizeof new_wp->tty);
-	pd->job = NULL;
+	if (pd->job != NULL) {
+		new_wp->fd = job_transfer(pd->job, &new_wp->pid, new_wp->tty,
+		    sizeof new_wp->tty);
+		pd->job = NULL;
+	}
 
 	screen_set_title(&pd->s, new_wp->base.title);
 	screen_free(&new_wp->base);
diff --git a/tty.c b/tty.c
index 5b980cc9..ecca6cd9 100644
--- a/tty.c
+++ b/tty.c
@@ -2880,6 +2880,8 @@ tty_check_fg(struct tty *tty, struct colour_palette *palette,
 				gc->fg &= 7;
 				if (colours >= 16)
 					gc->fg += 90;
+				else if (gc->fg == 0 && gc->bg == 0)
+					gc->fg = 7;
 			}
 		}
 		return;