diff --git a/dlls/commdlg/filedlg95.c b/dlls/commdlg/filedlg95.c
index 19d086d00fb6106a67e90385f769e000728c69cb..10cec946202cc3f8a6b2ad97911ecc14af45064f 100644
--- a/dlls/commdlg/filedlg95.c
+++ b/dlls/commdlg/filedlg95.c
@@ -1640,8 +1640,9 @@ static BOOL FILEDLG95_LOOKIN_OnCommand(HWND hwnd, WORD wNotifyCode)
 
       iItem = CBGetCurSel(fodInfos->DlgInfos.hwndLookInCB);
 
-      tmpFolder = (LPSFOLDER) CBGetItemDataPtr(fodInfos->DlgInfos.hwndLookInCB,
-                                               iItem);
+      if(!(tmpFolder = (LPSFOLDER) CBGetItemDataPtr(fodInfos->DlgInfos.hwndLookInCB,
+                                               iItem)))
+	return FALSE;
 
 
       if(SUCCEEDED(IShellBrowser_BrowseObject(fodInfos->Shell.FOIShellBrowser,
@@ -1929,16 +1930,16 @@ IShellFolder *GetShellFolderFromPidl(LPITEMIDLIST pidlAbs)
     psf = psfParent;
     if(pidlAbs && pidlAbs->mkid.cb)
     {
-      if(FAILED(IShellFolder_BindToObject(psfParent, pidlAbs, NULL, &IID_IShellFolder, (LPVOID*)&psf)))
+      if(SUCCEEDED(IShellFolder_BindToObject(psfParent, pidlAbs, NULL, &IID_IShellFolder, (LPVOID*)&psf)))
       {
-        psf = NULL;
+	IShellFolder_Release(psfParent);
+        return psf;
       }
     }
-    IShellFolder_Release(psfParent);
+    /* return the desktop */
+    return psfParent;
   }
-
-  return psf;
-
+  return NULL;
 }
 
 /***********************************************************************
@@ -1954,9 +1955,8 @@ LPITEMIDLIST GetParentPidl(LPITEMIDLIST pidl)
 
   pidlParent = COMDLG32_PIDL_ILClone(pidl);
   COMDLG32_PIDL_ILRemoveLastID(pidlParent);
-
+     
   return pidlParent;
-
 }
 
 /***********************************************************************
diff --git a/dlls/commdlg/filedlgbrowser.c b/dlls/commdlg/filedlgbrowser.c
index d2e062404b4b1ff0efaa33703552206964d41772..3826a059b8fffbdaa96ab7224519e5ebe3cdc35d 100644
--- a/dlls/commdlg/filedlgbrowser.c
+++ b/dlls/commdlg/filedlgbrowser.c
@@ -306,6 +306,15 @@ HRESULT WINAPI IShellBrowserImpl_BrowseObject(IShellBrowser *iface,
     if(!psfTmp)
         return E_FAIL;
 
+    /* If the pidl to browse to is equal to the actual pidl ... 
+       do nothing and pretend you did it*/
+    if(COMDLG32_PIDL_ILIsEqual(pidlTmp,fodInfos->ShellInfos.pidlAbsCurrent))
+    {
+        IShellFolder_Release(psfTmp);
+	COMDLG32_SHFree(pidlTmp);
+        return NOERROR;
+    }
+
     /* Release the current fodInfos->Shell.FOIShellFolder and update its value */
     IShellFolder_Release(fodInfos->Shell.FOIShellFolder);
     fodInfos->Shell.FOIShellFolder = psfTmp;
diff --git a/dlls/shell32/shres.rc b/dlls/shell32/shres.rc
index 345cdf43a07be5cc5e895ef54e67f82b12d7164c..b829220b08d47e5920303bb13b0ad3b97518ab5c 100644
--- a/dlls/shell32/shres.rc
+++ b/dlls/shell32/shres.rc
@@ -59,7 +59,7 @@ BEGIN
 	    MENUITEM "New &Link",	0x7052
 	    MENUITEM SEPARATOR	
 	  END
-	  MENUITEM "Propertys",		FCIDM_SHVIEW_PROPERTIES
+	  MENUITEM "Properties",		FCIDM_SHVIEW_PROPERTIES
 	END
 END
 
@@ -74,7 +74,7 @@ BEGIN
 	  MENUITEM "&Delete",	FCIDM_SHVIEW_DELETE
 	  MENUITEM "&Rename",	0x7050
 	  MENUITEM SEPARATOR
-	  MENUITEM "&Propertys",	FCIDM_SHVIEW_PROPERTIES
+	  MENUITEM "&Properties",	FCIDM_SHVIEW_PROPERTIES
 	END
 END
 SHBRSFORFOLDER_MSGBOX DIALOG 15, 40, 128, 152
@@ -98,7 +98,7 @@ STRINGTABLE DISCARDABLE
 	IDS_SHV_COLUMN1		"File"
 	IDS_SHV_COLUMN2		"Size"
 	IDS_SHV_COLUMN3		"Type"
-	IDS_SHV_COLUMN4		"Modifyed"
+	IDS_SHV_COLUMN4		"Modified"
 	IDS_SHV_COLUMN5		"Size"		/* drive view */
 	IDS_SHV_COLUMN6		"Size avaiable"	/* drive view */
 }