diff --git a/src/filo-fs-iso9660.adb b/src/filo-fs-iso9660.adb
index f232c86..110201f 100644
--- a/src/filo-fs-iso9660.adb
+++ b/src/filo-fs-iso9660.adb
@@ -226,7 +226,6 @@
             Dir_Rec_Name : Buffer_Type (0 .. File_Name_Max - 1);
             Record_Dir_Pos : File_Offset := Dir_Pos;
             Dir_Rec_Length : File_Length;
-            Inode : Inode_Index;
             Len : Natural;
          begin
             Read
@@ -238,25 +237,45 @@
                return;
             end if;
 
-            -- FIXME: need to strip trailing . and file version
-            if File_Name'Length = Natural (Dir_Rec (32)) then
+            if File_Name'Length <= Natural (Dir_Rec (32)) and
+               Natural (Dir_Rec (32)) <= File_Name'Length + 3
+            then
                pragma Warnings
                  (GNATprove, Off, """Record_Dir_Pos"" is set*but not used",
                   Reason => "We only care about intermedidate values.");
                Read
                  (State    => State,
                   File_Pos => Record_Dir_Pos,
-                  Buf      => Dir_Rec_Name,
+                  Buf      => Dir_Rec_Name (0 .. Natural (Dir_Rec (32) - 1)),
                   Len      => Len);
                pragma Warnings (GNATprove, On, """Record_Dir_Pos"" is set*but not used");
-               if Len < File_Name'Length then
-                  return;
-               end if;
 
-               Success := Str_Buf_Equal (File_Name, Dir_Rec_Name);
+               if (Len = 1 and Dir_Rec_Name (0) = 16#00# and File_Name = ".") or
+                  (Len = 1 and Dir_Rec_Name (0) = 16#01# and File_Name = "..")
+               then
+                  Success := True;
+               else
+                  -- Remove file version
+                  if Len >= File_Name'Length + 2 and
+                     Dir_Rec_Name (Len - 2) = Character'Pos (';') and
+                     Dir_Rec_Name (Len - 1) = Character'Pos ('1')
+                  then
+                     Len := Len - 2;
+                  end if;
+
+                  -- Remove trailing .
+                  if Len >= File_Name'Length + 1 and
+                     Dir_Rec_Name (Len - 1) = Character'Pos ('.')
+                  then
+                     Len := Len - 1;
+                  end if;
+
+                  Success := Len = File_Name'Length and then
+                              Str_Buf_Equal (File_Name, Dir_Rec_Name);
+               end if;
                if Success then
                   Found_Inode :=
-                    (Block => FSBlock (Dir_Pos / FSBlock_Size),
+                    (Block => FSBlock (Dir_Pos / FSBlock_Size) + State.Inode.Extents (0).Start,
                      Offset => FSBlock_Index (Dir_Pos mod FSBlock_Size));
                   exit;
                end if;
