diff --git a/tree/inc/TTree.h b/tree/inc/TTree.h
index 811c2606501809b2a839aecbffb65d605220a81d..14ce2ec20a9375a5c9655d54bcb642b70501e76f 100644
--- a/tree/inc/TTree.h
+++ b/tree/inc/TTree.h
@@ -1,4 +1,4 @@
-// @(#)root/tree:$Name:  $:$Id: TTree.h,v 1.96 2007/01/30 11:24:31 brun Exp $
+// @(#)root/tree:$Name:  $:$Id: TTree.h,v 1.97 2007/02/01 14:21:28 brun Exp $
 // Author: Rene Brun   12/01/96
 
 /*************************************************************************
@@ -26,18 +26,14 @@
 //                                                                      //
 //////////////////////////////////////////////////////////////////////////
 
-#ifndef ROOT_TNamed
-#include "TNamed.h"
+#ifndef ROOT_TBranch
+#include "TBranch.h"
 #endif
 
 #ifndef ROOT_TObjArray
 #include "TObjArray.h"
 #endif
 
-#ifndef ROOT_TClonesArray
-#include "TClonesArray.h"
-#endif
-
 #ifndef ROOT_TAttLine
 #include "TAttLine.h"
 #endif
@@ -50,10 +46,6 @@
 #include "TAttMarker.h"
 #endif
 
-#ifndef ROOT_TBranch
-#include "TBranch.h"
-#endif
-
 #ifndef ROOT_TArrayD
 #include "TArrayD.h"
 #endif
@@ -62,10 +54,6 @@
 #include "TArrayI.h"
 #endif
 
-#ifndef ROOT_TVirtualTreePlayer
-#include "TVirtualTreePlayer.h"
-#endif
-
 #ifndef ROOT_TDataType
 #include "TDataType.h"
 #endif
@@ -74,6 +62,12 @@
 #include "TClass.h"
 #endif
 
+#ifndef ROOT_TVirtualTreePlayer
+#include "TVirtualTreePlayer.h"
+#endif
+
+class TBranch;
+class TVirtualTreePlayer;
 class TBrowser;
 class TFile;
 class TDirectory;
@@ -91,6 +85,7 @@ class TFriendElement;
 class TCut;
 class TVirtualIndex;
 class TBranchRef;
+class TBasket;
 
 class TTree : public TNamed, public TAttLine, public TAttFill, public TAttMarker {
 
diff --git a/tree/src/ManualTree2.cxx b/tree/src/ManualTree2.cxx
index 5513dea40aee5652a7be831b7ef11107b81f5d04..cda7a79d9d33724b622bef066a6825539cd8cfef 100644
--- a/tree/src/ManualTree2.cxx
+++ b/tree/src/ManualTree2.cxx
@@ -17,6 +17,7 @@ namespace std {} using namespace std;
 
 #include "TClass.h"
 #include "TBuffer.h"
+#include "TBasket.h"
 #include "TStreamerInfo.h"
 #include "TMemberInspector.h"
 #include "TError.h"
diff --git a/tree/src/TTreeCache.cxx b/tree/src/TTreeCache.cxx
index 0e283bb3a0cd1d922212cc34eed6e423c3cc7401..f1d24a8b4348724a4a5c3b262e898359a8a0a7d3 100644
--- a/tree/src/TTreeCache.cxx
+++ b/tree/src/TTreeCache.cxx
@@ -1,4 +1,4 @@
-// @(#)root/tree:$Name:  $:$Id: TTreeCache.cxx,v 1.11 2006/10/19 19:35:52 pcanal Exp $
+// @(#)root/tree:$Name:  $:$Id: TTreeCache.cxx,v 1.12 2007/01/03 18:50:36 pcanal Exp $
 // Author: Rene Brun   04/06/2006
 
 /*************************************************************************
@@ -44,6 +44,7 @@
 
 #include "TTreeCache.h"
 #include "TChain.h"
+#include "TList.h"
 #include "TBranch.h"
 #include "TEventList.h"
 #include "TObjString.h"
diff --git a/treeplayer/inc/TBranchProxy.h b/treeplayer/inc/TBranchProxy.h
index 0210f348d59766b35ad8c635e8b7fa9a0e82e501..e6bd94a9e1ece37a2bee888d3db7ec79157f50d0 100644
--- a/treeplayer/inc/TBranchProxy.h
+++ b/treeplayer/inc/TBranchProxy.h
@@ -1,4 +1,4 @@
-// @(#)root/treeplayer:$Name:  $:$Id: TBranchProxy.h,v 1.7 2005/01/27 06:16:43 brun Exp $
+// @(#)root/treeplayer:$Name:  $:$Id: TBranchProxy.h,v 1.8 2005/09/03 02:21:32 pcanal Exp $
 // Author: Philippe Canal 01/06/2004
 
 /*************************************************************************
@@ -18,17 +18,14 @@
 #ifndef ROOT_TTree
 #include "TTree.h"
 #endif
-#ifndef ROOT_TString
-#include "TString.h"
-#endif
-#ifndef ROOT_TBranchElement
-#include "TBranchElement.h"
+#ifndef ROOT_TBranch
+#include "TBranch.h"
 #endif
-#ifndef ROOT_TStreamerInfo
-#include "TStreamerInfo.h"
+#ifndef ROOT_TClonesArray
+#include "TClonesArray.h"
 #endif
-#ifndef ROOT_TStreamerElement
-#include "TStreamerElement.h"
+#ifndef ROOT_TString
+#include "TString.h"
 #endif
 #ifndef ROOT_Riostream
 #include "Riostream.h"
@@ -40,6 +37,9 @@
 #include <list>
 #include <algorithm>
 
+class TBranch;
+class TStreamerElement;
+
 // Note we could protect the arrays more by introducing a class TArrayWrapper<class T> which somehow knows
 // its internal dimensions and check for them ...
 // template <class T> TArrayWrapper {
diff --git a/treeplayer/src/TBranchProxy.cxx b/treeplayer/src/TBranchProxy.cxx
index 9358fde081256cb01f9846cf570dc666e54e1f51..00dea77adeb9c725c027ecdfc16f60f6b2744126 100644
--- a/treeplayer/src/TBranchProxy.cxx
+++ b/treeplayer/src/TBranchProxy.cxx
@@ -1,4 +1,4 @@
-// @(#)root/base:$Name:  $:$Id: TBranchProxy.cxx,v 1.7 2006/05/23 08:15:50 brun Exp $
+// @(#)root/base:$Name:  $:$Id: TBranchProxy.cxx,v 1.8 2007/01/30 11:24:32 brun Exp $
 // Author: Philippe Canal  13/05/2003
 
 /*************************************************************************
@@ -17,6 +17,9 @@
 
 #include "TBranchProxy.h"
 #include "TLeaf.h"
+#include "TBranchElement.h"
+#include "TStreamerElement.h"
+#include "TStreamerInfo.h"
 
 
 ROOT::TBranchProxy::TBranchProxy() :
diff --git a/treeplayer/src/TFriendProxy.cxx b/treeplayer/src/TFriendProxy.cxx
index aab8d704772e215f093ec19e6c5db2847beefe9e..e0031a0519bd4f1f1619ea1c63c0c79ac4b5afb6 100644
--- a/treeplayer/src/TFriendProxy.cxx
+++ b/treeplayer/src/TFriendProxy.cxx
@@ -1,4 +1,4 @@
-// @(#)root/base:$Name:  $:$Id: TFriendProxy.cxx,v 1.2 2005/02/07 18:02:37 rdm Exp $
+// @(#)root/base:$Name:  $:$Id: TFriendProxy.cxx,v 1.3 2005/11/11 23:21:43 pcanal Exp $
 // Author: Philippe Canal  13/05/2003
 
 /*************************************************************************
@@ -17,6 +17,7 @@
 
 #include "TFriendProxy.h"
 #include "TTree.h"
+#include "TList.h"
 #include "TFriendElement.h"
 
 namespace ROOT {