diff --git a/src/acl.c b/src/acl.c
index da7c0bd4..cb054a7e 100644
--- a/src/acl.c
+++ b/src/acl.c
@@ -850,7 +850,7 @@ void aclCommand(client *c) {
             return;
         }
 
-        addReplyMapLen(c,3);
+        addReplyMapLen(c,4);
 
         /* Flags */
         addReplyBulkCString(c,"flags");
@@ -892,6 +892,22 @@ void aclCommand(client *c) {
         addReplyBulkCString(c,"commands");
         sds cmddescr = ACLDescribeUserCommandRules(u);
         addReplyBulkSds(c,cmddescr);
+
+        /* Key patterns */
+        addReplyBulkCString(c,"keys");
+        if (u->flags & USER_FLAG_ALLKEYS) {
+            addReplyArrayLen(c,1);
+            addReplyBulkCBuffer(c,"*",1);
+        } else {
+            addReplyArrayLen(c,listLength(u->patterns));
+            listIter li;
+            listNode *ln;
+            listRewind(u->patterns,&li);
+            while((ln = listNext(&li))) {
+                sds thispat = listNodeValue(ln);
+                addReplyBulkCBuffer(c,thispat,sdslen(thispat));
+            }
+        }
     } else if (!strcasecmp(sub,"help")) {
         const char *help[] = {
 "LIST                              -- List all the registered users.",