diff --git a/svr-chansession.c b/svr-chansession.c
index e44299e1307baaca30516b0b3c7125631853f628..bfaf7f695f1e8e77d9228cb7da4ae5a3ba8a1a72 100644
--- a/svr-chansession.c
+++ b/svr-chansession.c
@@ -814,7 +814,7 @@ static int ptycommand(struct Channel *channel, struct ChanSess *chansess) {
 		login_free_entry(li);
 
 #ifdef DO_MOTD
-		if (svr_opts.domotd) {
+		if (svr_opts.domotd && !chansess->cmd) {
 			/* don't show the motd if ~/.hushlogin exists */
 
 			/* 12 == strlen("/.hushlogin\0") */