diff --git a/src/main/java/net/greghaines/jesque/meta/QueueInfo.java b/src/main/java/net/greghaines/jesque/meta/QueueInfo.java
index e720fff8..5450c158 100644
--- a/src/main/java/net/greghaines/jesque/meta/QueueInfo.java
+++ b/src/main/java/net/greghaines/jesque/meta/QueueInfo.java
@@ -15,12 +15,12 @@
  */
 package net.greghaines.jesque.meta;
 
-import java.io.Serializable;
-import java.util.List;
-
 import net.greghaines.jesque.Job;
 import net.greghaines.jesque.utils.JesqueUtils;
 
+import java.io.Serializable;
+import java.util.List;
+
 /**
  * Information about the current state of a queue.
  * 
@@ -33,6 +33,7 @@ public class QueueInfo implements Comparable<QueueInfo>, Serializable {
     private String name;
     private Long size;
     private List<Job> jobs;
+    private Boolean delayed;
 
     /**
      * @return the name of the queue
@@ -76,6 +77,20 @@ public void setJobs(final List<Job> jobs) {
         this.jobs = jobs;
     }
 
+    /**
+     * @return whether this queue is a delayed queue
+     */
+    public Boolean isDelayed() {
+        return this.delayed;
+    }
+
+    /**
+     * @param delayed whether this queue is a delayed queue
+     */
+    public void setDelayed(final Boolean delayed) {
+        this.delayed = delayed;
+    }
+
     /**
      * {@inheritDoc}
      */
@@ -94,6 +109,7 @@ public int hashCode() {
         result = prime * result + ((this.jobs == null) ? 0 : this.jobs.hashCode());
         result = prime * result + ((this.name == null) ? 0 : this.name.hashCode());
         result = prime * result + ((this.size == null) ? 0 : this.size.hashCode());
+        result = prime * result + ((this.delayed == null) ? 0 : this.delayed.hashCode());
         return result;
     }
 
@@ -109,7 +125,8 @@ public boolean equals(final Object obj) {
             final QueueInfo other = (QueueInfo) obj;
             equal = (JesqueUtils.nullSafeEquals(this.jobs, other.jobs)
                     && JesqueUtils.nullSafeEquals(this.name, other.name)
-                    && JesqueUtils.nullSafeEquals(this.size, other.size));
+                    && JesqueUtils.nullSafeEquals(this.size, other.size)
+                    && JesqueUtils.nullSafeEquals(this.delayed, other.delayed));
         }
         return equal;
     }
diff --git a/src/main/java/net/greghaines/jesque/meta/dao/impl/QueueInfoDAORedisImpl.java b/src/main/java/net/greghaines/jesque/meta/dao/impl/QueueInfoDAORedisImpl.java
index dd2ba9ff..d868c85a 100644
--- a/src/main/java/net/greghaines/jesque/meta/dao/impl/QueueInfoDAORedisImpl.java
+++ b/src/main/java/net/greghaines/jesque/meta/dao/impl/QueueInfoDAORedisImpl.java
@@ -137,6 +137,7 @@ public List<QueueInfo> doWork(final Jedis jedis) throws Exception {
                     final QueueInfo queueInfo = new QueueInfo();
                     queueInfo.setName(queueName);
                     queueInfo.setSize(size(jedis, queueName));
+                    queueInfo.setDelayed(delayed(jedis, queueName));
                     queueInfos.add(queueInfo);
                 }
                 Collections.sort(queueInfos);
@@ -159,6 +160,7 @@ public QueueInfo doWork(final Jedis jedis) throws Exception {
                 final QueueInfo queueInfo = new QueueInfo();
                 queueInfo.setName(name);
                 queueInfo.setSize(size(jedis, name));
+                queueInfo.setDelayed(delayed(jedis, name));
                 final Collection<String> payloads = paylods(jedis, name, jobOffset, jobCount);
                 final List<Job> jobs = new ArrayList<Job>(payloads.size());
                 for (final String payload : payloads) {
@@ -170,6 +172,11 @@ public QueueInfo doWork(final Jedis jedis) throws Exception {
         });
     }
 
+    private boolean delayed(Jedis jedis, String queueName) {
+        final String key = key(QUEUE, queueName);
+        return JedisUtils.isDelayedQueue(jedis, key);
+    }
+
     /**
      * {@inheritDoc}
      */
diff --git a/src/test/java/net/greghaines/jesque/meta/TestQueueInfo.java b/src/test/java/net/greghaines/jesque/meta/TestQueueInfo.java
index be1917ab..40768d4c 100644
--- a/src/test/java/net/greghaines/jesque/meta/TestQueueInfo.java
+++ b/src/test/java/net/greghaines/jesque/meta/TestQueueInfo.java
@@ -23,6 +23,9 @@ public void testProperties() {
         final List<Job> jobs = Arrays.asList(new Job());
         qInfo.setJobs(jobs);
         Assert.assertEquals(jobs, qInfo.getJobs());
+        final boolean delayed = true;
+        qInfo.setDelayed(delayed);
+        Assert.assertEquals(delayed, qInfo.isDelayed());
     }
     
     @Test
diff --git a/src/test/java/net/greghaines/jesque/meta/dao/impl/TestQueueInfoDAORedisImpl.java b/src/test/java/net/greghaines/jesque/meta/dao/impl/TestQueueInfoDAORedisImpl.java
index 93d5a795..e04780c1 100644
--- a/src/test/java/net/greghaines/jesque/meta/dao/impl/TestQueueInfoDAORedisImpl.java
+++ b/src/test/java/net/greghaines/jesque/meta/dao/impl/TestQueueInfoDAORedisImpl.java
@@ -164,7 +164,7 @@ public void testGetQueueInfos() {
             oneOf(jedis).smembers(QUEUES_KEY); will(returnValue(queueCountMap.keySet()));
             for (final Entry<String,String> e : queueTypeMap.entrySet()) {
                 final String queueKey = "resque:queue:" + e.getKey();
-                oneOf(jedis).type(queueKey); will(returnValue(e.getValue()));
+                exactly(2).of(jedis).type(queueKey); will(returnValue(e.getValue()));
                 if (KeyType.ZSET.toString().equals(e.getValue())) {
                     oneOf(jedis).zcard(queueKey); will(returnValue(queueCountMap.get(e.getKey())));
                 } else {
@@ -194,7 +194,7 @@ public void testGetQueueInfo_List() throws JsonProcessingException {
         payloads.add(ObjectMapperFactory.get().writeValueAsString(new Job("bar")));
         this.mockCtx.checking(new Expectations(){{
             oneOf(pool).getResource(); will(returnValue(jedis));
-            exactly(2).of(jedis).type(queueKey); will(returnValue(KeyType.LIST.toString()));
+            exactly(3).of(jedis).type(queueKey); will(returnValue(KeyType.LIST.toString()));
             oneOf(jedis).llen(queueKey); will(returnValue(size));
             oneOf(jedis).lrange(queueKey, jobOffset, jobOffset + jobCount - 1); will(returnValue(payloads));
             oneOf(jedis).close();
@@ -220,7 +220,7 @@ public void testGetQueueInfo_ZSet() throws JsonProcessingException {
         payloads.add(ObjectMapperFactory.get().writeValueAsString(new Job("bar")));
         this.mockCtx.checking(new Expectations(){{
             oneOf(pool).getResource(); will(returnValue(jedis));
-            exactly(2).of(jedis).type(queueKey); will(returnValue(KeyType.ZSET.toString()));
+            exactly(3).of(jedis).type(queueKey); will(returnValue(KeyType.ZSET.toString()));
             oneOf(jedis).zcard(queueKey); will(returnValue(size));
             oneOf(jedis).zrange(queueKey, jobOffset, jobOffset + jobCount - 1); will(returnValue(payloads));
             oneOf(jedis).close();
