diff --git a/amazonka.cabal b/amazonka.cabal
--- a/amazonka.cabal
+++ b/amazonka.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka
-version:               1.2.0
+version:               1.2.0.1
 synopsis:              Comprehensive Amazon Web Services SDK
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
diff --git a/src/Control/Monad/Trans/AWS.hs b/src/Control/Monad/Trans/AWS.hs
--- a/src/Control/Monad/Trans/AWS.hs
+++ b/src/Control/Monad/Trans/AWS.hs
@@ -157,6 +157,7 @@
 import           Control.Monad.Writer.Class
 import           Data.Conduit                 hiding (await)
 import           Data.IORef
+import           Data.Monoid
 import           Network.AWS.Auth
 import qualified Network.AWS.EC2.Metadata     as EC2
 import           Network.AWS.Env
@@ -304,7 +305,7 @@
         -> m ClientRequest
 presign ts ex x = do
     Env{..} <- view environment
-    Sign.presignWith (applyOverride _envOverride) _envAuth _envRegion ts ex x
+    Sign.presignWith (appEndo (getDual _envOverride)) _envAuth _envRegion ts ex x
 
 -- | Test whether the underlying host is running on EC2.
 -- This is memoised and any external check occurs for the first invocation only.
diff --git a/src/Network/AWS/Env.hs b/src/Network/AWS/Env.hs
--- a/src/Network/AWS/Env.hs
+++ b/src/Network/AWS/Env.hs
@@ -23,7 +23,6 @@
     , HasEnv   (..)
 
     -- * Overriding Default Configuration
-    , Override (..)
     , override
     , configure
 
@@ -56,7 +55,7 @@
     { _envRegion     :: !Region
     , _envLogger     :: !Logger
     , _envRetryCheck :: !(Int -> HttpException -> Bool)
-    , _envOverride   :: !Override
+    , _envOverride   :: !(Dual (Endo Service))
     , _envManager    :: !Manager
     , _envEC2        :: !(IORef (Maybe Bool))
     , _envAuth       :: !Auth
@@ -79,7 +78,7 @@
     envRetryCheck :: Lens' a (Int -> HttpException -> Bool)
 
     -- | The currently applied overrides to all 'Service' configuration.
-    envOverride   :: Lens' a Override
+    envOverride   :: Lens' a (Dual (Endo Service))
 
     -- | The 'Manager' used to create and manage open HTTP connections.
     envManager    :: Lens' a Manager
@@ -110,13 +109,6 @@
             , "}"
             ]
 
--- | An override function to apply to service configuration before use.
-newtype Override = Override { applyOverride :: Service -> Service }
-
-instance Monoid Override where
-    mempty      = Override id
-    mappend a b = Override (applyOverride b . applyOverride a)
-
 -- | Provide a function which will be added to the existing stack
 -- of overrides applied to all service configuration.
 --
@@ -124,7 +116,7 @@
 -- either 'configure' or 'reconfigure' with a modified version of the default
 -- service, such as @Network.AWS.DynamoDB.dynamoDB@.
 override :: HasEnv a => (Service -> Service) -> a -> a
-override f = envOverride <>~ Override f
+override f = envOverride <>~ Dual (Endo f)
 
 -- | Configure a specific service. All requests belonging to the
 -- supplied service will use this configuration instead of the default.
diff --git a/src/Network/AWS/Internal/HTTP.hs b/src/Network/AWS/Internal/HTTP.hs
--- a/src/Network/AWS/Internal/HTTP.hs
+++ b/src/Network/AWS/Internal/HTTP.hs
@@ -149,7 +149,7 @@
            -> m (Request a)
 configured (request -> x) = do
     o <- view envOverride
-    return $! x & rqService %~ applyOverride o
+    return $! x & rqService %~ appEndo (getDual o)
 
 retryStream :: Request a -> RetryPolicy
 retryStream x = RetryPolicy (const $ listToMaybe [0 | not p])
