diff --git a/SabreTools.Serialization/Deserializers/CFB.cs b/SabreTools.Serialization/Deserializers/CFB.cs
index 57b2b3ca..24f6209e 100644
--- a/SabreTools.Serialization/Deserializers/CFB.cs
+++ b/SabreTools.Serialization/Deserializers/CFB.cs
@@ -280,7 +280,11 @@ namespace SabreTools.Serialization.Deserializers
/// Filled sector full of directory entries on success, null on error
private static DirectoryEntry[]? ParseDirectoryEntries(Stream data, ushort sectorShift, ushort majorVersion)
{
+#if NET20 || NET35 || NET40
+ int directoryEntrySize = Marshal.SizeOf(new DirectoryEntry());
+#else
int directoryEntrySize = Marshal.SizeOf();
+#endif
int sectorCount = (int)(Math.Pow(2, sectorShift) / directoryEntrySize);
var directoryEntries = new DirectoryEntry[sectorCount];