diff --git a/indra/llwindow/lldragdropwin32.cpp b/indra/llwindow/lldragdropwin32.cpp
index 4865570f07d40849a7d6e977f27db79a2525be2d..1e10626e8a0b9bb6a0816242baf51fe76370bc7b 100644
--- a/indra/llwindow/lldragdropwin32.cpp
+++ b/indra/llwindow/lldragdropwin32.cpp
@@ -189,7 +189,7 @@ class LLDragDropWin32Target:
 					MASK mask = gKeyboard->currentMask(TRUE);
 
 					LLWindowCallbacks::DragNDropResult result = window_imp->completeDragNDropRequest( gl_coord, mask, 
-						LLWindowCallbacks::DNDA_TRACK, std::string( "" ) );
+						LLWindowCallbacks::DNDA_TRACK, mDropUrl );
 					
 					switch (result)
 					{
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 02b81581886a5db3bca6af7661d92c3ddeb30925..81fcfc13c2d71ab38635d9eff52533f1b671c648 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -835,6 +835,7 @@ LLWindowCallbacks::DragNDropResult LLViewerWindow::handleDragNDrop( LLWindow *wi
 			// Much of the handling for these two cases is the same.
 			case LLWindowCallbacks::DNDA_TRACK:
 			case LLWindowCallbacks::DNDA_DROPPED:
+			case LLWindowCallbacks::DNDA_START_TRACKING:
 			{
 				bool drop = (LLWindowCallbacks::DNDA_DROPPED == action);
 					
@@ -925,10 +926,6 @@ LLWindowCallbacks::DragNDropResult LLViewerWindow::handleDragNDrop( LLWindow *wi
 			}
 			break;
 			
-			case LLWindowCallbacks::DNDA_START_TRACKING:
-				// No special handling here yet -- we'll actually start tracking on the first DNDA_TRACK event.
-			break;
-			
 			case LLWindowCallbacks::DNDA_STOP_TRACKING:
 				// The cleanup case below will make sure things are unhilighted if necessary.
 			break;