diff --git a/Cython/Compiler/ExprNodes.py b/Cython/Compiler/ExprNodes.py
index 9250178d63f54f5a3947a1fae2d1cc699adaa659..4bb13315f3a208d8c87c326c54de1be5cc5f52a1 100755
--- a/Cython/Compiler/ExprNodes.py
+++ b/Cython/Compiler/ExprNodes.py
@@ -5697,8 +5697,8 @@ class TypecastNode(ExprNode):
             self.operand = self.operand.coerce_to_simple(env)
 
     def is_simple(self):
-        # either temp or a C cast => no side effects
-        return True
+        # either temp or a C cast => no side effects other than the operand's
+        return self.operand.is_simple()
 
     def nonlocally_immutable(self):
         return self.operand.nonlocally_immutable()