Index: /AE/Installer/trunk/source/installer.cpp
===================================================================
--- /AE/Installer/trunk/source/installer.cpp	(revision 549)
+++ /AE/Installer/trunk/source/installer.cpp	(revision 550)
@@ -1385,11 +1385,11 @@
 	if (exists(strPathToEUFN + strOniApp))
 	{
-		if (exists(strOniApp))
+		if (exists("../" + strOniApp))
 #ifdef WIN32
-			remove((path)strOniApp);
+			remove((path)("../" + strOniApp));
 #else
-			rename((path)strOniApp, (path)(strTrashDir + strOniApp));
-#endif
-		rename((path)(strPathToEUFN + strOniApp), (path)strOniApp);
+			rename((path)("../" + strOniApp), (path)(strTrashDir + strOniApp));
+#endif
+		rename((path)(strPathToEUFN + strOniApp), (path)("../" + strOniApp));
 	}
 	if (updateAE->OniSplitVersion.compare(currentAE->OniSplitVersion) >= 1)
@@ -1514,5 +1514,5 @@
 	// Clean up after ourselves, trashing any packages or programs in the update package that are not newer than the current AE
 #ifdef WIN32
-	remove((path)strPathToEUFN);
+	remove_all((path)strPathToEUFN);
 #else
 	create_directory(strTrashDir + "Unneeded update files");
