Index: /trunk/eraser/Eraser.Util/NtfsApi.cs
===================================================================
--- /trunk/eraser/Eraser.Util/NtfsApi.cs	(revision 2197)
+++ /trunk/eraser/Eraser.Util/NtfsApi.cs	(revision 2198)
@@ -52,9 +52,12 @@
 		public static long GetMftRecordSegmentSize(VolumeInfo volume)
 		{
-			NativeMethods.NTFS_VOLUME_DATA_BUFFER? volumeData = GetNtfsVolumeData(volume);
-			if (volumeData == null)
+			try
+			{
+				return GetNtfsVolumeData(volume).BytesPerFileRecordSegment;
+			}
+			catch (UnauthorizedAccessException)
+			{
 				return Math.Min(volume.ClusterSize, 1024);
-
-			return volumeData.Value.BytesPerFileRecordSegment;
+			}
 		}
 
@@ -67,5 +70,5 @@
 		/// file system structures for the volume, or null if the data could not be
 		/// retrieved.</returns>
-		internal static NativeMethods.NTFS_VOLUME_DATA_BUFFER? GetNtfsVolumeData(VolumeInfo volume)
+		internal static NativeMethods.NTFS_VOLUME_DATA_BUFFER GetNtfsVolumeData(VolumeInfo volume)
 		{
 			using (FileStream stream = volume.Open(FileAccess.Read, FileShare.ReadWrite,
