diff --git a/lib/chef/http.rb b/lib/chef/http.rb
index <HASH>..<HASH> 100644
--- a/lib/chef/http.rb
+++ b/lib/chef/http.rb
@@ -242,12 +242,8 @@ class Chef
       raise Chef::Exceptions::RedirectLimitExceeded if @redirects_followed >= redirect_limit
       @redirects_followed += 1
       Chef::Log.debug("Following redirect #{@redirects_followed}/#{redirect_limit}")
-      if @sign_on_redirect
-        yield
-      else
-        @authenticator.sign_request = false
-        yield
-      end
+
+      yield
     ensure
       @redirects_followed = 0
       @authenticator.sign_request = true
diff --git a/lib/chef/rest.rb b/lib/chef/rest.rb
index <HASH>..<HASH> 100644
--- a/lib/chef/rest.rb
+++ b/lib/chef/rest.rb
@@ -192,6 +192,14 @@ class Chef
       end
     end
 
+    def follow_redirect
+      unless @sign_on_redirect
+        @authenticator.sign_request = false
+      end
+      super
+    ensure
+      @authenticator.sign_request = true
+    end
     private
 
     def stream_to_tempfile(url, response)
Remove references to authenticator from base HTTP class