--- hfs.cc.org	2011-11-30 11:19:21.228858777 -0500
+++ hfs.cc	2011-11-30 11:22:50.586337876 -0500
@@ -36,6 +36,9 @@
 	if ( ! Glib::find_program_in_path( "hformat" ) .empty() )
 		fs .create = GParted::FS::EXTERNAL ;
 
+	if ( ! Glib::find_program_in_path( "fsck.hfs" ) .empty() )
+		fs .check = FS::EXTERNAL ;
+	
 	if ( ! Glib::find_program_in_path( "hfsck" ) .empty() )
 		fs .check = FS::EXTERNAL ;
 
@@ -110,6 +113,9 @@
 
 bool hfs::check_repair( const Partition & partition, OperationDetail & operationdetail )
 {
+    if(!Glib::find_program_in_path( "fsck.hfs" ) .empty())
+      return ! execute_command( "fsck.hfs -f -y " + partition .get_path(), operationdetail ) ;
+    else
 	//FIXME: find out what the returnvalue is in case of modified.. also check what the -a flag does.. (there is no manpage)
 	return ! execute_command( "hfsck -v " + partition .get_path(), operationdetail ) ;
 }
