diff --git a/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java b/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java
index 4087bd8..023e3da 100644
--- a/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java
+++ b/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java
@@ -164,6 +164,7 @@
             Axis2BindingHeaderConfigurator.setHeader(requestMC, msg, axis2TokenAuthenticationPolicy.getTokenName());
         }
         
+        MessageContext responseMC = null;
         // Allow privileged access to read properties. Requires PropertiesPermission read in
         // security policy.
         try {
@@ -176,12 +177,13 @@
         } catch (PrivilegedActionException e) {
             operationClient.complete(requestMC);
             throw (AxisFault)e.getException();
-        }
-
-        MessageContext responseMC = operationClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
+        } finally {
+            // TUSCANY-3838: call afterInvoke() on both normal and exception paths
+            responseMC = operationClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
         
-        for ( PolicyHandler policyHandler : policyHandlerList ) {
-            policyHandler.afterInvoke(msg, responseMC, operationClient);
+            for ( PolicyHandler policyHandler : policyHandlerList ) {
+                policyHandler.afterInvoke(msg, responseMC, operationClient);
+            }
         }
         
         OMElement response = responseMC.getEnvelope().getBody().getFirstElement();
