using sys._getframe(x), where x > 0 doesnt' work on IronPython
diff --git a/Lib/collections.py b/Lib/collections.py
index 4cffca0..cac1777 100644
--- a/Lib/collections.py
+++ b/Lib/collections.py
@@ -268,9 +268,12 @@
 
     # For pickling to work, the __module__ variable needs to be set to the frame
     # where the named tuple is created.  Bypass this step in enviroments where
-    # sys._getframe is not defined (Jython for example).
-    if hasattr(_sys, '_getframe'):
+    # sys._getframe is not defined (Jython for example) or sys._getframe is not
+    # defined for arguments greater than 0 (IronPython).
+    try:
         result.__module__ = _sys._getframe(1).f_globals.get('__name__', '__main__')
+    except (AttributeError, ValueError):
+        pass
 
     return result