diff --git a/csharp/src/Apache.Arrow/Ipc/ArrowFileReaderImplementation.cs b/csharp/src/Apache.Arrow/Ipc/ArrowFileReaderImplementation.cs
index 7877773b5f415..f78d9c083f9b7 100644
--- a/csharp/src/Apache.Arrow/Ipc/ArrowFileReaderImplementation.cs
+++ b/csharp/src/Apache.Arrow/Ipc/ArrowFileReaderImplementation.cs
@@ -36,7 +36,7 @@ internal sealed class ArrowFileReaderImplementation : ArrowStreamReaderImplement
///
/// Notes what byte position where the footer data is in the stream
///
- private int _footerStartPostion;
+ private long _footerStartPostion;
private ArrowFooter _footer;
@@ -110,7 +110,7 @@ protected override void ReadSchema()
ArrayPool.Shared.RentReturn(footerLength, (buffer) =>
{
- _footerStartPostion = (int)GetFooterLengthPosition() - footerLength;
+ _footerStartPostion = GetFooterLengthPosition() - footerLength;
BaseStream.Position = _footerStartPostion;