diff --git a/Gemfile.lock b/Gemfile.lock
index aec31af78472914bc787fc5697c6dbf10fb82d42..6068abd2b65181d833b88dbf4501ea1520b02339 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -19,7 +19,7 @@ PATH
   remote: .
   specs:
     dtu-auth (0.0.0)
-    dtu-core (0.0.2)
+    dtu-core (0.0.5)
       dtu-auth
       dtu-auth2
       dtu-file-management
diff --git a/dtu-auth2/lib/dtu_auth2.rb b/dtu-auth2/lib/dtu_auth2.rb
index 658fab43895f421e51fbfe8ec324604a76b676ba..8f7bf1beaeddf7a2f072803003a23f0616b60043 100644
--- a/dtu-auth2/lib/dtu_auth2.rb
+++ b/dtu-auth2/lib/dtu_auth2.rb
@@ -62,11 +62,13 @@ module DTUAuth2
       am.users.keys.each { |user_id| $redis.set("user$" + user_id, am.users[user_id].to_json) }
 
       groups_by_user = {}
+      groups_by_course = {}
 
       _user_roles.flatten.each do |role|
         am.user_roles[role.user_id] = {} unless am.user_roles.has_key? role.user_id
         groups_by_user[role.user_id] = [] unless groups_by_user.has_key? role.user_id
         am.groups[role.course_id] = [] unless am.groups.has_key? role.course_id
+        groups_by_course[role.course_id] = [] unless groups_by_course.has_key? role.course_id
 
         am.user_roles[role.user_id][role.course_id] = {} unless am.user_roles[role.user_id].has_key? role.course_id
 
@@ -76,6 +78,7 @@ module DTUAuth2
 
         am.groups[role.course_id] << role.group
         groups_by_user[role.user_id] << role
+        groups_by_course[role.course_id] << role
       end
 
       groups.each do |k,v| 
@@ -86,8 +89,8 @@ module DTUAuth2
         $redis.set("user_role_by_user$" + user_id, g.uniq.to_json)
       end
 
-      groups.each do |group_id, g|
-        $redis.set("user_role_by_course$" + group_id, g.uniq.to_json)
+      groups_by_course.each do |course_id, g|
+        $redis.set("user_role_by_course$" + course_id, g.to_json)
       end
 
 #      Rails.logger.debug "Users #{am.users.ai}"
diff --git a/dtu-core-0.0.5.gem b/dtu-core-0.0.5.gem
new file mode 100644
index 0000000000000000000000000000000000000000..5322d153b5d67d6321311e4f04fc0595435023a3
Binary files /dev/null and b/dtu-core-0.0.5.gem differ
diff --git a/dtu_core.gemspec b/dtu_core.gemspec
index f93c3df8c4f931ad3233157713e8f9fd07789cd0..1d4b3cb8f6307187472463be5c47128416b354b3 100644
--- a/dtu_core.gemspec
+++ b/dtu_core.gemspec
@@ -6,7 +6,7 @@ require "dtu-core/version"
 # Describe your gem and declare its dependencies:
 Gem::Specification.new do |s|
   s.name        = "dtu-core"
-  s.version     = "0.0.4"
+  s.version     = "0.0.5"
   s.authors     = ["Iain Bryson"]
   s.email       = ["iain@iain-bryson.ca"]
   s.homepage    = "https://github.com/dtu-compute/dtu-core.git"
diff --git a/lib/tasks/dtu_core_tasks.rake b/lib/tasks/dtu_core_tasks.rake
index 00f6745798b8d17240b16f214da0d86418dd36be..456b5b6569c1d70ba460a1eac5614aeaf3cb5a85 100644
--- a/lib/tasks/dtu_core_tasks.rake
+++ b/lib/tasks/dtu_core_tasks.rake
@@ -18,9 +18,16 @@ desc "Populate the redis cache"
 task :populate => [:to_stdout, :environment] do
   Rails.logger.info Rails.configuration.dtu_data
   DTUAuth2::populate Rails.configuration.dtu_data[:root_path]
+  puts "\n\n\n COURSE LIST (from redis) \n\n\n"
   ap DTUAuth2::CachedAuthorizationManager.course_list
+  DTUAuth2::CachedAuthorizationManager.course_list.each do |course|
+    puts "\n\n\n GROUPS FOR #{course} (from redis) \n\n\n"
+    ap DTUAuth2::CachedAuthorizationManager.groups_by_course course
+  end
+  puts "\n\n\n USER LIST (from redis) \n\n\n"
   ap DTUAuth2::CachedAuthorizationManager.user_list
   DTUAuth2::CachedAuthorizationManager.user_list.each do |user|
+    puts "\n\n\n GROUPS FOR #{user} (from redis) \n\n\n"
     ap DTUAuth2::CachedAuthorizationManager.groups_by_user user
   end
 end