diff --git a/builds/win32/msvc6/engine.dsp b/builds/win32/msvc6/engine.dsp
index d92baa0c65..dae558f448 100644
--- a/builds/win32/msvc6/engine.dsp
+++ b/builds/win32/msvc6/engine.dsp
@@ -991,10 +991,6 @@ SOURCE=..\..\..\src\jrd\log_proto.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\src\jrd\loiter.h
-# End Source File
-# Begin Source File
-
SOURCE=..\..\..\src\jrd\map_proto.h
# End Source File
# Begin Source File
diff --git a/builds/win32/msvc6/engine_classic.dsp b/builds/win32/msvc6/engine_classic.dsp
index 784a864176..953c936e4a 100644
--- a/builds/win32/msvc6/engine_classic.dsp
+++ b/builds/win32/msvc6/engine_classic.dsp
@@ -973,10 +973,6 @@ SOURCE=..\..\..\src\jrd\log_proto.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\src\jrd\loiter.h
-# End Source File
-# Begin Source File
-
SOURCE=..\..\..\src\jrd\map_proto.h
# End Source File
# Begin Source File
diff --git a/builds/win32/msvc6/engine_embed.dsp b/builds/win32/msvc6/engine_embed.dsp
index 3e3c146220..6c2742bafa 100644
--- a/builds/win32/msvc6/engine_embed.dsp
+++ b/builds/win32/msvc6/engine_embed.dsp
@@ -973,10 +973,6 @@ SOURCE=..\..\..\src\jrd\log_proto.h
# End Source File
# Begin Source File
-SOURCE=..\..\..\src\jrd\loiter.h
-# End Source File
-# Begin Source File
-
SOURCE=..\..\..\src\jrd\map_proto.h
# End Source File
# Begin Source File
diff --git a/builds/win32/msvc7/engine.vcproj b/builds/win32/msvc7/engine.vcproj
index 2ead13523d..753e538687 100644
--- a/builds/win32/msvc7/engine.vcproj
+++ b/builds/win32/msvc7/engine.vcproj
@@ -761,9 +761,6 @@
-
-
diff --git a/builds/win32/msvc7/engine_classic.vcproj b/builds/win32/msvc7/engine_classic.vcproj
index 590fa42604..6fb7e7f2d6 100644
--- a/builds/win32/msvc7/engine_classic.vcproj
+++ b/builds/win32/msvc7/engine_classic.vcproj
@@ -758,9 +758,6 @@
-
-
diff --git a/builds/win32/msvc7/engine_embed.vcproj b/builds/win32/msvc7/engine_embed.vcproj
index c20624a6e0..c0734547fa 100644
--- a/builds/win32/msvc7/engine_embed.vcproj
+++ b/builds/win32/msvc7/engine_embed.vcproj
@@ -758,9 +758,6 @@
-
-
diff --git a/src/jrd/loiter.cpp b/src/jrd/loiter.cpp
deleted file mode 100644
index 66de05d178..0000000000
--- a/src/jrd/loiter.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * PROGRAM: JRD Access Method
- * MODULE: loiter.c
- * DESCRIPTION: Waits for the lock to become free
- *
- * The contents of this file are subject to the Interbase Public
- * License Version 1.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy
- * of the License at http://www.Inprise.com/IPL.html
- *
- * Software distributed under the License is distributed on an
- * "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code was created by Inprise Corporation
- * and its predecessors. Portions created by Inprise Corporation are
- * Copyright (C) Inprise Corporation.
- *
- * All Rights Reserved.
- * Contributor(s): ______________________________________.
- */
-
-#include "firebird.h"
-#include
-#include "../jrd/common.h"
-#include "../jrd/thd.h"
-#include "../jrd/thd_prot.h"
-#include "../jrd/loiter.h"
-
-/**************************************************************
- * LOITER_loiter yields control to the Windows non-pre-emptive
- * "operating system." It returns TRUE if the calling function is
- * to continue its processing, and FALSE if the calling function
- * is to break out of what-ever it was doing and return to the
- * master Executable.
- **************************************************************/
-BOOLEAN API_ROUTINE LOITER_loiter(void)
-{
- MSG msg;
-/* save the context */
- THDD save_context;
- save_context = THD_get_specific();
-
- THD_restore_specific();
-
-/* Empty the message queue and in the process yield control */
- while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
- if (msg.message == WM_QUIT) {
- /*
- * Reintroduce the message so it can be processed at the
- * right level, and break out of this low level message loop.
- */
- PostMessage(msg.hwnd, msg.message, msg.wParam, msg.lParam);
- return FALSE;
- }
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
-/* restore the context */
- THD_put_specific(save_context);
- return TRUE;
-}
diff --git a/src/jrd/loiter.h b/src/jrd/loiter.h
deleted file mode 100644
index 307c265087..0000000000
--- a/src/jrd/loiter.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * PROGRAM: JRD Access Method
- * MODULE: loiter.h
- * DESCRIPTION: prototypes for callback functions in
- * the lock manager.
- *
- * The contents of this file are subject to the Interbase Public
- * License Version 1.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy
- * of the License at http://www.Inprise.com/IPL.html
- *
- * Software distributed under the License is distributed on an
- * "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code was created by Inprise Corporation
- * and its predecessors. Portions created by Inprise Corporation are
- * Copyright (C) Inprise Corporation.
- *
- * All Rights Reserved.
- * Contributor(s): ______________________________________.
- */
-
-#ifndef _JRD_LOITER_H_
-#define _JRD_LOITER_H_
-
-BOOLEAN LOITER_loiter(void);
-/*
- * future additions:
- * BOOLEAN LOITER_register_callback (BOOLEAN (*wait_callback)(void *),
- * void *param);
- * BOOLEAN LOITER_unregister_callback (BOOLEAN (*wait_callback)(void *),
- * void *param);
-*/
-
-#endif