--- src.v1/mhitu.c	Sun Feb 23 09:43:27 2003
+++ src/mhitu.c	Sat Mar  1 13:39:51 2003
@@ -2119,6 +2119,11 @@
 	register struct obj *ring, *nring;
 	boolean fem = (mon->data == &mons[PM_SUCCUBUS]); /* otherwise incubus */
 	char qbuf[QBUFSZ];
+	boolean stairs_up =
+		((u.ux == xupstair && u.uy == yupstair) ||
+		 (u.ux == sstairs.sx && u.uy == sstairs.sy && sstairs.up) ||
+		 (xupladder && u.ux == xupladder && u.uy == yupladder));
+	int joke = 0;
 
 	if (mon->mcan || mon->mspec_used) {
 		pline("%s acts as though %s has got a %sheadache.",
@@ -2221,7 +2226,11 @@
 		mayberem(uarmu, "shirt");
 #endif
 
-	if (uarm || uarmc) {
+	if (stairs_up && fem && !uarm && !uarmc) {
+		You_cant("go down here.");
+		joke = 1;
+	}
+	if (uarm || uarmc || joke) {
 		verbalize("You're such a %s; I wish...",
 				flags.female ? "sweet lady" : "nice guy");
 		if (!tele_restrict(mon)) rloc(mon);
