diff --git a/registry/job.go b/registry/job.go
index <HASH>..<HASH> 100644
--- a/registry/job.go
+++ b/registry/job.go
@@ -29,8 +29,17 @@ func (r *Registry) GetAllJobs() []job.Job {
 		return jobs
 	}
 
-	for _, node := range resp.Node.Nodes {
-		if j := r.GetJob(path.Base(node.Key)); j != nil {
+	for _, dir := range resp.Node.Nodes {
+		for _, node := range dir.Nodes {
+			if !strings.HasSuffix(node.Key, "object") {
+				continue
+			}
+
+			j := r.getJobFromJSON(node.Value)
+			if j == nil {
+				continue
+			}
+
 			jobs = append(jobs, *j)
 		}
 	}
@@ -67,9 +76,13 @@ func (r *Registry) GetJob(jobName string) *job.Job {
 		return nil
 	}
 
+	return r.getJobFromJSON(resp.Node.Value)
+}
+
+func (r *Registry) getJobFromJSON(val string) *job.Job {
 	var jm jobModel
 	//TODO: Handle the error generated by unmarshal
-	unmarshal(resp.Node.Value, &jm)
+	unmarshal(val, &jm)
 
 	// TODO: This is temporary. It will be removed once we switch over to
 	// hashed payloads.
refactor(registry): Drop unnecessary requests in GetAllJobs