diff --git a/cmdx.py b/cmdx.py
index 4a91609..529587a 100644
--- a/cmdx.py
+++ b/cmdx.py
@@ -834,6 +834,8 @@ def isA(self, type):
             True
             >>> node.isA(kShape)
             False
+            >>> node.isA((kShape, kTransform))
+            True
 
         """
         if isinstance(type, om.MTypeId):
@@ -841,7 +843,7 @@ def isA(self, type):
         elif isinstance(type, string_types):
             return type == self._fn.typeName
         elif isinstance(type, (tuple, list)):
-            return self._fn.typeName in type or self._fn.typeId in type
+            return any(self.isA(t) for t in type)
         elif isinstance(type, int):
             return self._mobject.hasFn(type)
         cmds.warning("Unsupported argument passed to isA('%s')" % type)