diff --git a/indra/llwindow/llwindowcallbacks.cpp b/indra/llwindow/llwindowcallbacks.cpp
index fda2c7ee6f2ffbe10e930c27d4541867dc2d2fc8..72f99971499de517a6910ad1aec1b4681073828e 100644
--- a/indra/llwindow/llwindowcallbacks.cpp
+++ b/indra/llwindow/llwindowcallbacks.cpp
@@ -163,11 +163,6 @@ void LLWindowCallbacks::handleDataCopy(LLWindow *window, S32 data_type, void *da
 {
 }
 
-BOOL LLWindowCallbacks::handleDrop(LLWindow *window, LLCoordGL pos, MASK mask, void *data)
-{
-	return FALSE;
-}
-
 BOOL LLWindowCallbacks::handleTimerEvent(LLWindow *window)
 {
 	return FALSE;
diff --git a/indra/llwindow/llwindowcallbacks.h b/indra/llwindow/llwindowcallbacks.h
index e1e257943a4d3624448cb70da04219711a526ebb..abc66c42a2882a1844173350fec37f2ba34f2471 100644
--- a/indra/llwindow/llwindowcallbacks.h
+++ b/indra/llwindow/llwindowcallbacks.h
@@ -68,7 +68,6 @@ class LLWindowCallbacks
 	virtual void handleWindowBlock(LLWindow *window);							// window is taking over CPU for a while
 	virtual void handleWindowUnblock(LLWindow *window);							// window coming back after taking over CPU for a while
 	virtual void handleDataCopy(LLWindow *window, S32 data_type, void *data);
-	virtual BOOL handleDrop(LLWindow *window, LLCoordGL pos, MASK mask, void *data);
 	virtual BOOL handleTimerEvent(LLWindow *window);
 	virtual BOOL handleDeviceChange(LLWindow *window);
 
diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp
index 94c3e1af8c34987126b133c8e2189946dd89ae84..c608c21d05152332fd5b243c305c44dec051a009 100644
--- a/indra/llwindow/llwindowwin32.cpp
+++ b/indra/llwindow/llwindowwin32.cpp
@@ -52,7 +52,6 @@
 #include <mapi.h>
 #include <process.h>	// for _spawn
 #include <shellapi.h>
-#include <fstream>
 #include <Imm.h>
 
 // Require DirectInput version 8
@@ -1349,9 +1348,6 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, const LLCoordScreen &size, BO
 	}
 
 	SetWindowLong(mWindowHandle, GWL_USERDATA, (U32)this);
-
-	// register this window as handling drag/drop events from the OS
-	DragAcceptFiles( mWindowHandle, TRUE );
 	
 	//register joystick timer callback
 	SetTimer( mWindowHandle, 0, 1000 / 30, NULL ); // 30 fps timer
@@ -2337,65 +2333,11 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
 			return 0;
 
 		case WM_COPYDATA:
-			{
-				window_imp->mCallbacks->handlePingWatchdog(window_imp, "Main:WM_COPYDATA");
-				// received a URL
-				PCOPYDATASTRUCT myCDS = (PCOPYDATASTRUCT) l_param;
-				window_imp->mCallbacks->handleDataCopy(window_imp, myCDS->dwData, myCDS->lpData);
-			};
+			window_imp->mCallbacks->handlePingWatchdog(window_imp, "Main:WM_COPYDATA");
+			// received a URL
+			PCOPYDATASTRUCT myCDS = (PCOPYDATASTRUCT) l_param;
+			window_imp->mCallbacks->handleDataCopy(window_imp, myCDS->dwData, myCDS->lpData);
 			return 0;			
-
-		case WM_DROPFILES:
-			{
-				// HDROP contains what we need
-				HDROP hdrop = (HDROP)w_param;
-
-				// get location in window space where drop occured and convert to OpenGL coordinate space
-				POINT pt;
-				DragQueryPoint( hdrop, &pt );
-				LLCoordGL gl_coord;
-				LLCoordWindow cursor_coord_window( pt.x, pt.y );
-				window_imp->convertCoords(cursor_coord_window, &gl_coord);
-
-				// get payload (eventually, this needs to more advanced and grab size of payload dynamically
-				static char file_name[ 1024 ];
-				DragQueryFileA( hdrop, 0, file_name, 1024 );
-				void* url = (void*)( file_name );
-
-				// if it's a .URL or .lnk ("shortcut") file
-				if ( std::string( file_name ).find( ".lnk" ) != std::string::npos ||
-					  std::string( file_name ).find( ".URL" ) != std::string::npos )
-				{
-					// read through file - looks like a 2 line file with second line URL= but who knows..
-					std::ifstream file_handle( file_name );
-					if ( file_handle.is_open() )
-					{
-						std::string line;
-						while ( ! file_handle.eof() )
-						{
-							std::getline( file_handle, line );
-							if ( ! file_handle.eof() )
-							{
-								std::string prefix( "URL=" );
-								if ( line.find( prefix, 0 ) != std::string::npos )
-								{
-									line = line.substr( 4 );  // skip off the URL= bit
-									strcpy( (char*)url, line.c_str() );
-									break;
-								};
-							};
-						};
-						file_handle.close();
-					};
-				};
-
-				MASK mask = gKeyboard->currentMask(TRUE);
-				if (window_imp->mCallbacks->handleDrop(window_imp, gl_coord, mask, url ) )
-				{
-					return 0;
-				}
-			}
-			break;
 		}
 
 	window_imp->mCallbacks->handlePauseWatchdog(window_imp);	
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 2bda6eddbcdb76802ae352f3e6c4ee099ba7030a..c659e58e476d7c5c6f4f397ce3264fe80bb964b9 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -815,20 +815,6 @@ BOOL LLViewerWindow::handleMiddleMouseDown(LLWindow *window,  LLCoordGL pos, MAS
   	// Always handled as far as the OS is concerned.
 	return TRUE;
 }
-
-BOOL LLViewerWindow::handleDrop(LLWindow *window,  LLCoordGL pos, MASK mask, void* data)
-{
-	LLPickInfo pick_info = pickImmediate( pos.mX, pos.mY,  TRUE /*BOOL pick_transparent*/ );
-
-	LLUUID object_id = pick_info.getObjectID();
-	S32 object_face = pick_info.mObjectFace;
-	std::string url = std::string( (char*)data );
-
-	llinfos << "### Object: picked at " << pos.mX << ", " << pos.mY << " - face = " << object_face << " - URL = " << url << llendl;
-
-  	// Always handled as far as the OS is concerned.
-	return TRUE;
-}
   
 BOOL LLViewerWindow::handleMiddleMouseUp(LLWindow *window,  LLCoordGL pos, MASK mask)
 {
diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h
index 44704b99e391ed39a0fe5119b39cfeecab1efaee..d7c403739e492047131fa101ea03da2db3aad9e9 100644
--- a/indra/newview/llviewerwindow.h
+++ b/indra/newview/llviewerwindow.h
@@ -170,8 +170,7 @@ class LLViewerWindow : public LLWindowCallbacks
 	/*virtual*/ BOOL handleRightMouseUp(LLWindow *window,  LLCoordGL pos, MASK mask);
 	/*virtual*/ BOOL handleMiddleMouseDown(LLWindow *window,  LLCoordGL pos, MASK mask);
 	/*virtual*/ BOOL handleMiddleMouseUp(LLWindow *window,  LLCoordGL pos, MASK mask);
-	/*virtual*/ BOOL handleDrop(LLWindow *window,  LLCoordGL pos, MASK mask, void* data);
-				void handleMouseMove(LLWindow *window,  LLCoordGL pos, MASK mask);
+	/*virtual*/ void handleMouseMove(LLWindow *window,  LLCoordGL pos, MASK mask);
 	/*virtual*/ void handleMouseLeave(LLWindow *window);
 	/*virtual*/ void handleResize(LLWindow *window,  S32 x,  S32 y);
 	/*virtual*/ void handleFocus(LLWindow *window);