diff --git a/bindings/pyroot/cppyy.py b/bindings/pyroot/cppyy.py
index 7ec406a9046d871e8d222fd0044ed8041eb7eb5a..e6df8cc7e36c743b8f93a611c5e47cb5ceee5eae 100644
--- a/bindings/pyroot/cppyy.py
+++ b/bindings/pyroot/cppyy.py
@@ -71,9 +71,6 @@ sys.modules[ __name__ ].libPyROOT = _backend
 if not _builtin_cppyy:
    _backend.SetMemoryPolicy( _backend.kMemoryStrict )
 
-#--- Enable Autoloading ignoring possible error for the time being
-try:    _backend.gInterpreter.EnableAutoLoading()
-except: pass
 
 ### -----------------------------------------------------------------------------
 ### -- metaclass helper from six ------------------------------------------------
diff --git a/bindings/pyroot_experimental/cppyy/cppyy/python/cppyy/__init__.py b/bindings/pyroot_experimental/cppyy/cppyy/python/cppyy/__init__.py
index 6aae7a0aa166219f8e67b68e52ddc146355baa4d..09848f9157314e65973e93f5a8bd873e7c339bfc 100644
--- a/bindings/pyroot_experimental/cppyy/cppyy/python/cppyy/__init__.py
+++ b/bindings/pyroot_experimental/cppyy/cppyy/python/cppyy/__init__.py
@@ -74,11 +74,6 @@ sys.modules['cppyy.gbl'] = gbl
 sys.modules['cppyy.gbl.std'] = gbl.std
 
 
-#- enable auto-loading -------------------------------------------------------
-try:    gbl.gInterpreter.EnableAutoLoading()
-except: pass
-
-
 #- external typemap ----------------------------------------------------------
 from . import _typemap
 _typemap.initialize(_backend)
diff --git a/core/base/src/TROOT.cxx b/core/base/src/TROOT.cxx
index 10a765747eaac76397834858ff3a2f9024467bb8..f7dc936821fcdab678cf3edeb15db5d527df0f66 100644
--- a/core/base/src/TROOT.cxx
+++ b/core/base/src/TROOT.cxx
@@ -2143,9 +2143,6 @@ void TROOT::InitInterpreter()
    // load the libraries for the classes concerned even-though the user is
    // *not* using them.
    TClass::ReadRules(); // Read the default customization rules ...
-
-   // Enable autoloading
-   fInterpreter->EnableAutoLoading();
 }
 
 ////////////////////////////////////////////////////////////////////////////////
diff --git a/core/dictgen/src/rootcling_impl.cxx b/core/dictgen/src/rootcling_impl.cxx
index 3fdef60b8567cdc49d278c9c17f8611803dbf5e2..7180d20410ce99fa310024efc751d0a36631dd65 100644
--- a/core/dictgen/src/rootcling_impl.cxx
+++ b/core/dictgen/src/rootcling_impl.cxx
@@ -1280,8 +1280,7 @@ void WriteClassFunctions(const clang::CXXRecordDecl *cl, std::ostream &dictStrea
 
    // Trigger autoloading if dictionary is split
    if (autoLoad)
-      dictStream << "   gInterpreter->EnableAutoLoading();\n"
-                 << "   gInterpreter->AutoLoad(\"" << fullname << "\");\n";
+      dictStream << "   gInterpreter->AutoLoad(\"" << fullname << "\");\n";
    dictStream    << "   fgIsA = ::ROOT::GenerateInitInstanceLocal((const ::" << fullname
                  << "*)0x0)->GetClass();" << std::endl
                  << "   return fgIsA;\n"
diff --git a/core/metacling/src/TCling.cxx b/core/metacling/src/TCling.cxx
index 862152d3f3b36567e8578171516b6dfb42c38d01..3c2241906276e7a6c32ba5a7fa6d481a7441d275 100644
--- a/core/metacling/src/TCling.cxx
+++ b/core/metacling/src/TCling.cxx
@@ -1356,8 +1356,6 @@ TCling::TCling(const char *name, const char *title, const char* const argv[])
 
    // Disallow auto-parsing in rootcling
    fIsAutoParsingSuspended = fromRootCling;
-   // Disable the autoloader until it is explicitly enabled.
-   SetClassAutoloading(false);
 
    ResetAll();
 #ifndef R__WIN32
@@ -1378,6 +1376,8 @@ TCling::TCling(const char *name, const char *title, const char* const argv[])
    fClingCallbacks->SetAutoParsingSuspended(fIsAutoParsingSuspended);
    fInterpreter->setCallbacks(std::move(clingCallbacks));
 
+   // We are set up.
+   EnableAutoLoading();
 }
 
 
diff --git a/gui/gui/src/TGApplication.cxx b/gui/gui/src/TGApplication.cxx
index c86f9b6938c753e7ee25c6b628aa63d94e783cb1..1dba098244a58feff4d52c33ff99c3250d5fba71 100644
--- a/gui/gui/src/TGApplication.cxx
+++ b/gui/gui/src/TGApplication.cxx
@@ -66,9 +66,6 @@ TGApplication::TGApplication(const char *appClassName,
    // Tell TSystem the TApplication has been created
    gSystem->NotifyApplicationCreated();
 
-   // Enable autoloading
-   gInterpreter->EnableAutoLoading();
-
    LoadGraphicsLibs();
 
    if (!fDisplay) gSystem->SetDisplay();
diff --git a/main/src/pmain.cxx b/main/src/pmain.cxx
index 82dfb84e0f781751a852f02bbdf29a108488f43e..07deb34bf0625d026ae4b7c3cd88f716d9d6bb57 100644
--- a/main/src/pmain.cxx
+++ b/main/src/pmain.cxx
@@ -216,9 +216,6 @@ int main(int argc, char **argv)
    gROOT->SetBatch();
    TApplication *theApp = 0;
 
-   // Enable autoloading
-   gInterpreter->EnableAutoLoading();
-
    TString getter("GetTXProofServ");
    TString prooflib = "libProofx";
    if (argc > 2) {
diff --git a/main/src/roots.cxx b/main/src/roots.cxx
index 996bf89adb07dbb7666399fe845dba4b2587e16f..42076768388d444edb18a4529ce4e02e96c4736f 100644
--- a/main/src/roots.cxx
+++ b/main/src/roots.cxx
@@ -82,9 +82,6 @@ int main(int argc, char **argv)
    // Like in batch mode
    gROOT->SetBatch();
 
-   // Enable autoloading
-   gInterpreter->EnableAutoLoading();
-
    // Instantiate the TApplication object to be run
    TPluginHandler *h = 0;
    TApplication *theApp = 0;
diff --git a/roofit/roofitcore/src/RooClassFactory.cxx b/roofit/roofitcore/src/RooClassFactory.cxx
index 75ee042f380879b884e01a76670ff7afa325a9e6..f8b81462a02e5f98b695012517cf0752c9c2f905 100644
--- a/roofit/roofitcore/src/RooClassFactory.cxx
+++ b/roofit/roofitcore/src/RooClassFactory.cxx
@@ -105,10 +105,6 @@ Bool_t RooClassFactory::makeAndCompilePdf(const char* name, const char* expressi
     return ret ;
   }
 
-  if (gInterpreter->GetRootMapFiles()==0) {
-    gInterpreter->EnableAutoLoading() ;
-  }
-
   TInterpreter::EErrorCode ecode;
   gInterpreter->ProcessLineSynch(Form(".L %s.cxx+",name),&ecode) ;
   return (ecode!=TInterpreter::kNoError) ;
@@ -153,10 +149,6 @@ Bool_t RooClassFactory::makeAndCompileFunction(const char* name, const char* exp
     return ret ;
   }
 
-  if (gInterpreter->GetRootMapFiles()==0) {
-    gInterpreter->EnableAutoLoading() ;
-  }
-
   TInterpreter::EErrorCode ecode;
   gInterpreter->ProcessLineSynch(Form(".L %s.cxx+",name),&ecode) ;
   return (ecode!=TInterpreter::kNoError) ;
@@ -215,10 +207,6 @@ RooAbsReal* RooClassFactory::makeFunctionInstance(const char* name, const char*
 
 RooAbsReal* RooClassFactory::makeFunctionInstance(const char* className, const char* name, const char* expression, const RooArgList& vars, const char* intExpression)
 {
-  if (gInterpreter->GetRootMapFiles()==0) {
-    gInterpreter->EnableAutoLoading() ;
-  }
-
   // Use class factory to compile and link specialized function
   Bool_t error = makeAndCompileFunction(className,expression,vars,intExpression) ;
 
@@ -315,10 +303,6 @@ RooAbsPdf* RooClassFactory::makePdfInstance(const char* name, const char* expres
 RooAbsPdf* RooClassFactory::makePdfInstance(const char* className, const char* name, const char* expression,
 					    const RooArgList& vars, const char* intExpression)
 {
-  if (gInterpreter->GetRootMapFiles()==0) {
-    gInterpreter->EnableAutoLoading() ;
-  }
-
   // Use class factory to compile and link specialized function
   Bool_t error = makeAndCompilePdf(className,expression,vars,intExpression) ;