diff --git a/xCAT-server/lib/xcat/plugins/copycds.pm b/xCAT-server/lib/xcat/plugins/copycds.pm
index 17d9396e0..2cb95f44b 100644
--- a/xCAT-server/lib/xcat/plugins/copycds.pm
+++ b/xCAT-server/lib/xcat/plugins/copycds.pm
@@ -101,7 +101,8 @@ sub process_request {
 
     if (system("mount $mntopts '$file' /mnt/xcat")) {
 	eval { $callback->({error=>"copycds was unable to mount $file to /mnt/xcat.",errorcode=>[1]}) };
-        system("umount -l /mnt/xcat"); 
+        chdir("/");
+        system("umount /mnt/xcat"); 
       	return;
     }
     eval {
@@ -146,7 +147,8 @@ sub process_request {
     chdir($existdir);
     while (wait() > 0) { yield(); } #Make sure all children exit before trying umount
     };
-    system("umount -l /mnt/xcat");
+    chdir("/");
+    system("umount /mnt/xcat");
     unless ($identified) {
        $callback->({error=>["copycds could not identify the ISO supplied, you may wish to try -n <osver>"],errorcode=>[1]});
     }