Index: src/frames/foptionsfiletypescolors.pas
===================================================================
--- src/frames/foptionsfiletypescolors.pas	(revision 4125)
+++ src/frames/foptionsfiletypescolors.pas	(working copy)
@@ -63,11 +63,15 @@
       State: TDragState; var Accept: Boolean);
     procedure lbCategoriesDrawItem(Control: TWinControl; Index: Integer;
       ARect: TRect; State: TOwnerDrawState);
+
+    procedure Clear;
   protected
     procedure Init; override;
     procedure Load; override;
     function Save: TOptionsEditorSaveFlags; override;
   public
+    destructor Destroy; override;
+
     class function GetIconIndex: Integer; override;
     class function GetTitle: String; override;
   end;
@@ -233,6 +237,16 @@
    end;
 end;
 
+procedure TfrmOptionsFileTypesColors.Clear;
+var
+  i: Integer;
+begin
+  for i := lbCategories.Count - 1 downto 0 do
+    lbCategories.Items.Objects[i].Free;
+
+  lbCategories.Clear;
+end;
+
 procedure TfrmOptionsFileTypesColors.Init;
 begin
   lbCategories.Canvas.Font := lbCategories.Font;
@@ -254,7 +268,7 @@
   I : Integer;
   MaskItem: TMaskItem;
 begin
-  lbCategories.Clear;
+  Clear;
 
   { File lbtypes category color }
   for I := 0 to gColorExt.Count - 1 do
@@ -306,5 +320,11 @@
     end;
 end;
 
+destructor TfrmOptionsFileTypesColors.Destroy;
+begin
+  Clear;
+  inherited;
+end;
+
 end.
 
