diff --git a/Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystem.c b/Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystem.c
index feef184..6cff2df 100644
--- a/Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystem.c
+++ b/Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystem.c
@@ -1,6 +1,6 @@
 /**@file
 
-Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
 This program and the accompanying materials
 are licensed and made available under the terms and conditions of the BSD License
 which accompanies this distribution.  The full text of the license may be found at
@@ -1987,8 +1987,19 @@
   CHAR16                      *TempPointer;
 
   Size        = SIZE_OF_EFI_FILE_INFO;
-  NameSize    = StrSize (PrivateFile->FileName);
-  ResultSize  = Size + NameSize;
+
+  RealFileName  = PrivateFile->FileName;
+  TempPointer   = RealFileName;
+  while (*TempPointer) {
+    if (*TempPointer == '\\') {
+      RealFileName = TempPointer + 1;
+    }
+
+    TempPointer++;
+  }
+  NameSize = StrSize (RealFileName);
+
+  ResultSize = Size + NameSize; 
 
   Status      = EFI_BUFFER_TOO_SMALL;
   if (*BufferSize >= ResultSize) {
@@ -2056,17 +2067,6 @@
       Info->Attribute |= EFI_FILE_DIRECTORY;
     }
 
-    RealFileName  = PrivateFile->FileName;
-    TempPointer   = RealFileName;
-
-    while (*TempPointer) {
-      if (*TempPointer == '\\') {
-        RealFileName = TempPointer + 1;
-      }
-
-      TempPointer++;
-    }
-
     if (PrivateFile->IsRootDirectory) {
       *((CHAR8 *) Buffer + Size) = 0;
     } else {
