diff --git a/src/slic3r/GUI/RemovableDriveManager.cpp b/src/slic3r/GUI/RemovableDriveManager.cpp
index c859a5d87..3d77606c8 100644
--- a/src/slic3r/GUI/RemovableDriveManager.cpp
+++ b/src/slic3r/GUI/RemovableDriveManager.cpp
@@ -259,7 +259,13 @@ void RemovableDriveManager::eject_drive(const std::string &path)
             	}
             }
             std::cout<<"Ejecting "<<(*it).name<<" from "<< correct_path<<"\n";
-            std::string command = "umount ";
+
+            std::string command = "";
+#if __APPLE__
+            command = "diskutil unmount ";
+#else
+            command = "umount ";
+#endif
             command += correct_path;
             int err = system(command.c_str());
             if(err)