diff --git a/utils/fpdoc/dglobals.pp b/utils/fpdoc/dglobals.pp
index 36e9dac161..2201c33eb9 100644
--- a/utils/fpdoc/dglobals.pp
+++ b/utils/fpdoc/dglobals.pp
@@ -173,7 +173,7 @@ type
 
   // Assumes a list of TObject instances and frees them on destruction
 
-  TObjectList = class(TList)
+  TObjectList = class(TFPList)
   public
     destructor Destroy; override;
   end;
@@ -271,7 +271,7 @@ type
     DescrDocNames: TStringList;         // Names of the XML documents
     FRootLinkNode: TLinkNode;
     FRootDocNode: TDocNode;
-    FPackages: TList;                   // List of TFPPackage objects
+    FPackages: TFPList;                   // List of TFPPackage objects
     CurModule: TPasModule;
     CurPackageDocNode: TDocNode;
   public
@@ -554,7 +554,7 @@ begin
   FRootDocNode := TDocNode.Create('', nil);
   HidePrivate := True;
   InterfaceOnly:=True;
-  FPackages := TList.Create;
+  FPackages := TFPList.Create;
 end;
 
 destructor TFPDocEngine.Destroy;
@@ -696,7 +696,7 @@ var
      result:=Copy(AName, DotPos2 + 1, length(AName)-dotpos2);
   end;
 
-  function SearchInList(clslist:TList;s:string):TPasElement;
+  function SearchInList(clslist:TFPList;s:string):TPasElement;
   var i : integer;
       ClassEl: TPasElement;
   begin
@@ -1084,7 +1084,7 @@ function TFPDocEngine.FindElement(const AName: String): TPasElement;
   function FindInModule(AModule: TPasModule; const LocalName: String): TPasElement;
   
   var
-    l: TList;
+    l: TFPList;
     i: Integer;
     
   begin
@@ -1181,7 +1181,7 @@ function TFPDocEngine.ResolveLink(AModule: TPasModule;
 var
   i: Integer;
   ThisPackage: TLinkNode;
-  UnitList: TList;
+  UnitList: TFPList;
 
   function CanWeExit(AResult: string): boolean;
   var
@@ -1422,7 +1422,7 @@ function TFPDocEngine.FindDocNode(ARefModule: TPasModule;
   const AName: String): TDocNode;
 var
   CurPackage: TDocNode;
-  UnitList: TList;
+  UnitList: TFPList;
   i: Integer;
 begin
   if Length(AName) = 0 then
diff --git a/utils/fpdoc/dw_html.pp b/utils/fpdoc/dw_html.pp
index 5a5a8bf2ec..ee43f27322 100644
--- a/utils/fpdoc/dw_html.pp
+++ b/utils/fpdoc/dw_html.pp
@@ -503,7 +503,7 @@ constructor THTMLWriter.Create(APackage: TPasPackage; AEngine: TFPDocEngine);
   end;
 
   procedure AddPages(AElement: TPasElement; ASubpageIndex: Integer;
-    AList: TList);
+    AList: TFPList);
   var
     i: Integer;
   begin
@@ -1507,7 +1507,7 @@ function THTMLWriter.AppendHyperlink(Parent: TDOMNode;
   Element: TPasElement): TDOMElement;
 var
   s: String;
-  UnitList: TList;
+  UnitList: TFPList;
   i: Integer;
   ThisPackage: TLinkNode;
 begin
@@ -2346,7 +2346,7 @@ end;
 
 procedure THTMLWriter.AddModuleIdentifiers(AModule : TPasModule; L : TStrings);
 
-  Procedure AddElementsFromList(L : TStrings; List : TList);
+  Procedure AddElementsFromList(L : TStrings; List : TFPList);
   
   Var
     I : Integer;
@@ -2539,12 +2539,12 @@ procedure THTMLWriter.CreateModulePageBody(AModule: TPasModule;
       end;
   end;
 
-  procedure CreateSimpleSubpage(const ATitle: DOMString; AList: TList);
+  procedure CreateSimpleSubpage(const ATitle: DOMString; AList: TFPList);
   var
     TableEl, TREl, TDEl, CodeEl: TDOMElement;
     i, j: Integer;
     Decl: TPasElement;
-    SortedList: TList;
+    SortedList: TFPList;
     DocNode: TDocNode;
     S : String;
 
@@ -2552,7 +2552,7 @@ procedure THTMLWriter.CreateModulePageBody(AModule: TPasModule;
     AppendMenuBar(ASubpageIndex);
     S:=ATitle;
     AppendTitle(Format(SDocUnitTitle + ': %s', [AModule.Name, S]));
-    SortedList := TList.Create;
+    SortedList := TFPList.Create;
     try
       for i := 0 to AList.Count - 1 do
       begin
@@ -3125,13 +3125,13 @@ var
 
   procedure CreateSortedSubpage(AFilter: TMemberFilter);
   var
-    List: TList;
+    List: TFPList;
     ThisClass: TPasClassType;
     i, j: Integer;
     Member: TPasElement;
     TableEl, TREl, TDEl, ParaEl, LinkEl: TDOMElement;
   begin
-    List := TList.Create;
+    List := TFPList.Create;
     try
       ThisClass := AClass;
       while True do
diff --git a/utils/fpdoc/dw_man.pp b/utils/fpdoc/dw_man.pp
index f0914b5588..72b9e25168 100644
--- a/utils/fpdoc/dw_man.pp
+++ b/utils/fpdoc/dw_man.pp
@@ -91,7 +91,7 @@ Type
     procedure WriteManRef(APasElement : TPasElement; Comma : Boolean);
     procedure WriteModuleSeealso(Comma : Boolean);
 
-    procedure SortElementList(List : TList);
+    procedure SortElementList(List : TFPList);
     Function  GetDescrString(AContext: TPasElement; DescrNode: TDOMElement) : String;
     function  ConstValue(ConstDecl: TPasConst): String; virtual;
     procedure WriteCommentLine;
@@ -192,7 +192,7 @@ constructor TManWriter.Create(APackage: TPasPackage; AEngine: TFPDocEngine);
     Engine.AddLink(AElement.PathName, ElementToManPage(AElement));
   end;
 
-  procedure AddList(AElement: TPasElement; AList: TList);
+  procedure AddList(AElement: TPasElement; AList: TFPList);
   var
     i: Integer;
   begin
@@ -1722,7 +1722,7 @@ begin
   Result:=CompareText(TPasElement(P1).Name,TPasElement(P2).Name);
 end;
 
-procedure TManWriter.SortElementList(List : TList);
+procedure TManWriter.SortElementList(List : TFPList);
 
 begin
   List.Sort(@CompareElements);
diff --git a/utils/fpdoc/dwlinear.pp b/utils/fpdoc/dwlinear.pp
index 41f2d0edfe..c61e1deaab 100644
--- a/utils/fpdoc/dwlinear.pp
+++ b/utils/fpdoc/dwlinear.pp
@@ -34,7 +34,7 @@ Type
     // Auxiliary routines
     procedure DescrBeginURL(const AURL: DOMString); override; // Provides a default implementation
     procedure DescrEndURL; override;
-    procedure SortElementList(List : TList);
+    procedure SortElementList(List : TFPList);
     procedure StartListing(Frames: Boolean);
     Function  ShowMember(M : TPasElement) : boolean;
     procedure StartChapter(ChapterName : String; ChapterLabel : String); virtual;
@@ -1154,7 +1154,7 @@ begin
   Result:=CompareText(TPasElement(P1).Name,TPasElement(P2).Name);
 end;
 
-procedure TLinearWriter.SortElementList(List : TList);
+procedure TLinearWriter.SortElementList(List : TFPList);
 
 begin
   List.Sort(@CompareElements);
@@ -1229,7 +1229,7 @@ constructor TLinearWriter.Create(APackage: TPasPackage; AEngine: TFPDocEngine);
     Engine.AddLink(AElement.PathName, GetLabel(AElement));
   end;
 
-  procedure AddList(AElement: TPasElement; AList: TList);
+  procedure AddList(AElement: TPasElement; AList: TFPList);
   var
     i: Integer;
   begin