diff --git a/bindings/pyroot/ROOT.py b/bindings/pyroot/ROOT.py
index 349dab9ab9410eb87535f5090b6e8412d52a961c..356854e90b30afe00e979f9bc466b63ea8f1cc7b 100755
--- a/bindings/pyroot/ROOT.py
+++ b/bindings/pyroot/ROOT.py
@@ -2,7 +2,7 @@ from __future__ import generators
 # @(#)root/pyroot:$Id$
 # Author: Wim Lavrijsen (WLavrijsen@lbl.gov)
 # Created: 02/20/03
-# Last: 09/29/10
+# Last: 11/10/10
 
 """PyROOT user module.
 
@@ -343,7 +343,6 @@ class ModuleFacade( types.ModuleType ):
            if name != 'SetBatch' and self._master.__dict__[ 'gROOT' ] != self._gROOT:
               self._master._ModuleFacade__finalSetup()
               del self._master.__class__._ModuleFacade__finalSetup
-              self._master.__dict__[ 'gROOT' ] = self._gROOT
            return getattr( self._gROOT, name )
 
          def __setattr__( self, name, value ):
@@ -448,6 +447,9 @@ class ModuleFacade( types.ModuleType ):
       return super( self.__class__, self ).__delattr__( name )
 
    def __finalSetup( self ):
+    # prevent this method from being re-entered through the gROOT wrapper
+      self.__dict__[ 'gROOT' ] = _root.gROOT
+
     # switch to running gettattr/setattr
       self.__class__.__getattr__ = self.__class__.__getattr2
       del self.__class__.__getattr2