diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 3706e14624e04b405b4d061af7729cb8bdeb251c..7617478f96195b096dc0374fcc546fc407a10c04 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -7056,6 +7056,7 @@ static int zap_show_channel(int fd, int argc, char **argv)
 	int channel;
 	struct zt_pvt *tmp = NULL;
 	ZT_CONFINFO ci;
+	ZT_PARAMS ps;
 	int x;
 
 	if (argc != 4)
@@ -7127,8 +7128,12 @@ static int zap_show_channel(int fd, int argc, char **argv)
 				ast_cli(fd, "Actual Confmute: %s\n", x ? "Yes" : "No");
 			}
 #endif
-			ast_mutex_unlock(&iflock);
-			return RESULT_SUCCESS;
+			ps.channo = tmp->channel;
+			if (ioctl(tmp->subs[SUB_REAL].zfd, ZT_GET_PARAMS, &ps) < 0) {
+				ast_log(LOG_WARNING, "Failed to get parameters on channel %d\n", tmp->channel);
+			} else {
+				ast_cli(fd, "Actual Hookstate: %s\n", ps.rxisoffhook ? "Offhook" : "Onhook");
+			}
 		}
 		tmp = tmp->next;
 	}