diff --git a/src/sbbs3/ctrl/MainFormUnit.cpp b/src/sbbs3/ctrl/MainFormUnit.cpp
index 86464fec312ab1a38f1104709170e8b7125bebf5..ddf3cd4899af532488d00d45aa6d0cb510bf8711 100644
--- a/src/sbbs3/ctrl/MainFormUnit.cpp
+++ b/src/sbbs3/ctrl/MainFormUnit.cpp
@@ -2997,15 +2997,6 @@ void __fastcall TMainForm::UpTimerTick(TObject *Sender)
 }
 //---------------------------------------------------------------------------
 
-void __fastcall TMainForm::BBSViewErrorLogMenuItemClick(TObject *Sender)
-{
-	char filename[MAX_PATH+1];
-
-    sprintf(filename,"%sERROR.LOG"
-    	,MainForm->cfg.logs_dir);
-    ViewFile(filename,"Error Log");
-}
-//---------------------------------------------------------------------------
 
 void __fastcall TMainForm::ChatToggleExecute(TObject *Sender)
 {
@@ -3825,6 +3816,30 @@ TFont* __fastcall TMainForm::LogAttributes(int log_level, TColor Color, TFont* F
     return LogFont[log_level];
 }
 //---------------------------------------------------------------------------
+void __fastcall TMainForm::ClearErrorsExecute(TObject *Sender)
+{
+    errors=0;
+
+    node_t node;
+    for(int i=0;i<cfg.sys_nodes;i++) {
+    	int file;
+       	if(NodeForm->getnodedat(i+1,&node,&file))
+            break;
+        node.errors=0;
+        if(NodeForm->putnodedat(i+1,&node,file))
+            break;
+    }
+}
+//---------------------------------------------------------------------------
+void __fastcall TMainForm::ViewErrorLogExecute(TObject *Sender)
+{
+	char filename[MAX_PATH+1];
+
+    sprintf(filename,"%sERROR.LOG"
+    	,MainForm->cfg.logs_dir);
+    ViewFile(filename,"Error Log");
+}
+//---------------------------------------------------------------------------
 void __fastcall TMainForm::ViewLoginAttemptsMenuItemClick(TObject *Sender)
 {
     LoginAttemptsForm->Show();
diff --git a/src/sbbs3/ctrl/MainFormUnit.dfm b/src/sbbs3/ctrl/MainFormUnit.dfm
index 965dfd8696beea0d35e035ab8512b4746057be81..adb740d08deb0070ea263c49761d87536bffeb71 100644
--- a/src/sbbs3/ctrl/MainFormUnit.dfm
+++ b/src/sbbs3/ctrl/MainFormUnit.dfm
@@ -51,7 +51,7 @@ object MainForm: TMainForm
   object HorizontalSplitter: TSplitter
     Left = 0
     Top = 164
-    Width = 632
+    Width = 624
     Height = 1
     Cursor = crVSplit
     Align = alTop
@@ -62,8 +62,8 @@ object MainForm: TMainForm
   object Logo: TImage
     Left = 0
     Top = 165
-    Width = 632
-    Height = 164
+    Width = 624
+    Height = 152
     Align = alClient
     AutoSize = True
     Center = True
@@ -13385,7 +13385,7 @@ object MainForm: TMainForm
   object Toolbar: TToolBar
     Left = 0
     Top = 0
-    Width = 632
+    Width = 624
     Height = 30
     BorderWidth = 1
     EdgeBorders = [ebTop, ebBottom]
@@ -13607,6 +13607,7 @@ object MainForm: TMainForm
         Text = 'Starting up...'
         Width = 100
       end>
+    PopupMenu = StatusBarPopupMenu
     SimplePanel = False
   end
   object MainMenu: TMainMenu
@@ -13703,6 +13704,9 @@ object MainForm: TMainForm
         ImageIndex = 25
         OnClick = ForceNetworkCalloutMenuItemClick
       end
+      object ClearErrorMenuItem: TMenuItem
+        Action = ClearErrors
+      end
       object N1: TMenuItem
         Caption = '-'
       end
@@ -13710,10 +13714,8 @@ object MainForm: TMainForm
         AutoHotkeys = maManual
         Caption = 'View'
         ImageIndex = 47
-        object ViewErrorLog: TMenuItem
-          Caption = 'Error Log'
-          ImageIndex = 29
-          OnClick = BBSViewErrorLogMenuItemClick
+        object BBSViewErrorLogMenuItem: TMenuItem
+          Action = ViewErrorLog
         end
         object ViewStatisticsLog: TMenuItem
           Caption = 'Statistics Log'
@@ -13802,15 +13804,20 @@ object MainForm: TMainForm
           Hint = 'WELCOME.MSG'
           OnClick = TextMenuItemEditClick
         end
+        object BBSEditFeedbackMsg: TMenuItem
+          Caption = 'New User Feedback Instructions'
+          Hint = 'FEEDBACK.MSG'
+          OnClick = TextMenuItemEditClick
+        end
         object BBSEditNupGuessMenuItem: TMenuItem
           Caption = 'New User Password Failure'
           Hint = 'NUPGUESS.MSG'
           OnClick = TextMenuItemEditClick
         end
-        object BBSEditFeedbackMsg: TMenuItem
-          Caption = 'New User Feedback Instructions'
-          Hint = 'FEEDBACK.MSG'
-          OnClick = TextMenuItemEditClick
+        object BBSEditModOptsMenuItem: TMenuItem
+          Caption = 'Module Options'
+          Hint = 'modopts.ini'
+          OnClick = CtrlMenuItemEditClick
         end
       end
       object BBSEditFilters: TMenuItem
@@ -13867,6 +13874,16 @@ object MainForm: TMainForm
           Hint = 'subject.can'
           OnClick = TextMenuItemEditClick
         end
+        object BBSEditPasswordFilterMenuItem: TMenuItem
+          Caption = 'Password Filter'
+          Hint = 'password.can'
+          OnClick = TextMenuItemEditClick
+        end
+        object BBSEditBadPasswordMessageMenuItem: TMenuItem
+          Caption = 'Password Filter Message'
+          Hint = 'badpassword.msg'
+          OnClick = TextMenuItemEditClick
+        end
         object BBSEditFilenameFilter: TMenuItem
           Caption = 'File Name Filter'
           Hint = 'file.can'
@@ -14267,11 +14284,8 @@ object MainForm: TMainForm
         OnClick = ViewStatusBarMenuItemClick
       end
       object ViewErrorLogMenuItem: TMenuItem
+        Action = ViewErrorLog
         AutoHotkeys = maManual
-        Caption = 'Error Log...'
-        Hint = 'ERROR.LOG'
-        ImageIndex = 29
-        OnClick = ViewLogClick
       end
       object ViewLoginAttemptsMenuItem: TMenuItem
         Caption = 'Login Attempts...'
@@ -14596,6 +14610,17 @@ object MainForm: TMainForm
       ImageIndex = 4
       OnExecute = WebConfigureExecute
     end
+    object ClearErrors: TAction
+      Caption = 'Clear Error Counters'
+      ImageIndex = 31
+      OnExecute = ClearErrorsExecute
+    end
+    object ViewErrorLog: TAction
+      Caption = 'Error Log...'
+      Hint = 'error.log'
+      ImageIndex = 29
+      OnExecute = ViewErrorLogExecute
+    end
   end
   object ImageList: TImageList
     Left = 360
@@ -17221,4 +17246,15 @@ object MainForm: TMainForm
     Left = 472
     Top = 40
   end
+  object StatusBarPopupMenu: TPopupMenu
+    Left = 296
+    Top = 40
+    object ViewErrorLogPopupMenuItem: TMenuItem
+      Action = ViewErrorLog
+      Caption = 'View Error Log...'
+    end
+    object ClearErrorCounter: TMenuItem
+      Action = ClearErrors
+    end
+  end
 end
diff --git a/src/sbbs3/ctrl/MainFormUnit.h b/src/sbbs3/ctrl/MainFormUnit.h
index d8b07b5ce24ef5f118eaafaf3bca00a36058b1bd..0d5a77145ef479c90eb47080aa8be8a9a619afc4 100644
--- a/src/sbbs3/ctrl/MainFormUnit.h
+++ b/src/sbbs3/ctrl/MainFormUnit.h
@@ -6,7 +6,7 @@
  * @format.tab-size 4		(Plain Text/Source Code File Header)			*
  * @format.use-tabs true	(see http://www.synchro.net/ptsc_hdr.html)		*
  *																			*
- * Copyright 2010 Rob Swindell - http://www.synchro.net/copyright.html		*
+ * Copyright 2011 Rob Swindell - http://www.synchro.net/copyright.html		*
  *																			*
  * This program is free software; you can redistribute it and/or			*
  * modify it under the terms of the GNU General Public License				*
@@ -201,7 +201,7 @@ __published:	// IDE-managed Components
     TMenuItem *BBSViewAnotherDaysLog;
     TMenuItem *BBSViewYesterdaysLog;
     TMenuItem *BBSViewTodaysLog;
-	TMenuItem *ViewErrorLog;
+    TMenuItem *BBSViewErrorLogMenuItem;
 	TMenuItem *ViewStatisticsLog;
     TAction *UserList;
     TToolButton *UserListButton;
@@ -316,6 +316,15 @@ __published:	// IDE-managed Components
     TMenuItem *WebPauseMenuItem;
     TMenuItem *ServicesPauseMenuItem;
     TMenuItem *LogoffMessage;
+    TPopupMenu *StatusBarPopupMenu;
+    TMenuItem *ClearErrorCounter;
+    TAction *ClearErrors;
+    TMenuItem *ClearErrorMenuItem;
+    TMenuItem *BBSEditModOptsMenuItem;
+    TAction *ViewErrorLog;
+    TMenuItem *ViewErrorLogPopupMenuItem;
+    TMenuItem *BBSEditPasswordFilterMenuItem;
+    TMenuItem *BBSEditBadPasswordMessageMenuItem;
     TMenuItem *ViewLoginAttemptsMenuItem;
 	void __fastcall FileExitMenuItemClick(TObject *Sender);
 	void __fastcall ViewToolbarMenuItemClick(TObject *Sender);
@@ -357,7 +366,6 @@ __published:	// IDE-managed Components
 	void __fastcall CtrlMenuItemEditClick(TObject *Sender);
     void __fastcall UpTimerTick(TObject *Sender);
     void __fastcall LogTimerTick(TObject *Sender);
-    void __fastcall BBSViewErrorLogMenuItemClick(TObject *Sender);
     void __fastcall ChatToggleExecute(TObject *Sender);
     void __fastcall ViewClientsExecute(TObject *Sender);
     void __fastcall UserEditExecute(TObject *Sender);
@@ -406,6 +414,8 @@ __published:	// IDE-managed Components
     void __fastcall WebConfigureExecute(TObject *Sender);
     void __fastcall ViewServicesExecute(TObject *Sender);
     void __fastcall SemFileTimerTick(TObject *Sender);
+    void __fastcall ClearErrorsExecute(TObject *Sender);
+    void __fastcall ViewErrorLogExecute(TObject *Sender);
     void __fastcall ViewLoginAttemptsMenuItemClick(TObject *Sender);
 private:	// User declarations
 public:		// User declarations