diff --git a/src/sbbs3/ctrl/MainFormUnit.cpp b/src/sbbs3/ctrl/MainFormUnit.cpp
index 7102c1ee2cba2804f3d8f7aaaca304bf34e49cce..a0e7521bc0dafcb79de2b1d9af59b9a10b7544b4 100644
--- a/src/sbbs3/ctrl/MainFormUnit.cpp
+++ b/src/sbbs3/ctrl/MainFormUnit.cpp
@@ -1275,6 +1275,11 @@ void __fastcall TMainForm::StartupTimerTick(TObject *Sender)
         	,sizeof(ftp_startup.hangup_sound)-1
         	,Registry->ReadString("FtpHangupSound").c_str());
 
+    if(Registry->ValueExists("FtpHackAttemptSound"))
+    	sprintf(ftp_startup.hack_sound,"%.*s"
+        	,sizeof(ftp_startup.hack_sound)-1
+        	,Registry->ReadString("FtpHackAttemptSound").c_str());
+
     if(Registry->ValueExists("FtpIndexFileName"))
     	sprintf(ftp_startup.index_file_name,"%.*s"
         	,sizeof(ftp_startup.index_file_name)-1
@@ -1538,6 +1543,8 @@ void __fastcall TMainForm::SaveSettings(TObject* Sender)
     Registry->WriteInteger("FtpInterface",ftp_startup.interface_addr);
     Registry->WriteString("FtpAnswerSound",AnsiString(ftp_startup.answer_sound));
     Registry->WriteString("FtpHangupSound",AnsiString(ftp_startup.hangup_sound));
+    Registry->WriteString("FtpHackAttemptSound",AnsiString(ftp_startup.hack_sound));
+
     Registry->WriteString("FtpIndexFileName"
     	,AnsiString(ftp_startup.index_file_name));
     Registry->WriteString("FtpHtmlIndexFile"