diff --git a/lib/shield/helpers.rb b/lib/shield/helpers.rb
index <HASH>..<HASH> 100644
--- a/lib/shield/helpers.rb
+++ b/lib/shield/helpers.rb
@@ -34,6 +34,8 @@ module Shield
     def logout(model)
       session.delete(model.to_s)
       session.delete(:return_to)
+
+      @_authenticated.delete(model) if defined?(@_authenticated)
     end
   end
 end
\ No newline at end of file
diff --git a/test/shield_test.rb b/test/shield_test.rb
index <HASH>..<HASH> 100644
--- a/test/shield_test.rb
+++ b/test/shield_test.rb
@@ -103,8 +103,12 @@ test "logout" do |context|
   context.session["User"] = 1001
   context.session[:return_to] = "/foo"
 
+  # Now let's make it memoize the User
+  context.authenticated(User)
+
   context.logout(User)
 
   assert nil == context.session["User"]
   assert nil == context.session[:return_to]
+  assert nil == context.authenticated(User)
 end
\ No newline at end of file
Bust the memoized cache of @_authenticated on logout.