Fix misplaced exactness check that was causing unnecessary work in Decimal.__pow__.
diff --git a/Lib/decimal.py b/Lib/decimal.py
index 71408a8..5cb5ea9 100644
--- a/Lib/decimal.py
+++ b/Lib/decimal.py
@@ -2327,9 +2327,10 @@
         # try for an exact result with precision +1
         if ans is None:
             ans = self._power_exact(other, context.prec + 1)
-            if ans is not None and result_sign == 1:
-                ans = _dec_from_triple(1, ans._int, ans._exp)
-            exact = True
+            if ans is not None:
+                if result_sign == 1:
+                    ans = _dec_from_triple(1, ans._int, ans._exp)
+                exact = True
 
         # usual case: inexact result, x**y computed directly as exp(y*log(x))
         if ans is None: