diff --git a/net/netx/src/TXNetFile.cxx b/net/netx/src/TXNetFile.cxx
index 2e88422cf94a0c60a73115d437738603d7374a18..1d7fe45231b290dbfd6665fccf4e5b81aa289ffb 100644
--- a/net/netx/src/TXNetFile.cxx
+++ b/net/netx/src/TXNetFile.cxx
@@ -517,12 +517,12 @@ Bool_t TXNetFile::Open(Option_t *option, Bool_t doitparallel)
 
    //
    // Create and Recreate are correlated
+   if (create)
+      openOpt |= kXR_new;
    if (recreate) {
       openOpt |= kXR_delete;
       create = kTRUE;
    }
-   if (create)
-      openOpt |= kXR_new;
 
    Bool_t mkpath = (gEnv->GetValue("XNet.Mkpath", 0) == 1) ? kTRUE : kFALSE;
    char *p = (char*)strstr(fUrl.GetOptions(), "mkpath=");
@@ -1032,12 +1032,6 @@ Int_t TXNetFile::SysStat(Int_t fd, Long_t *id, Long64_t *size, Long_t *flags,
       return TNetFile::SysStat(fd, id, size, flags, modtime);
    }
 
-   if (!IsOpen()) {
-      Error("SysStat","The remote file is not open");
-      *size = 0;
-      return 1;
-   }
-
    // Return file stat information. The interface and return value is
    // identical to TSystem::GetPathInfo().
    struct XrdClientStatInfo stinfo;
@@ -1050,8 +1044,13 @@ Int_t TXNetFile::SysStat(Int_t fd, Long_t *id, Long64_t *size, Long_t *flags,
          Info("SysStat", "got stats = %ld %lld %ld %ld",
                          *id, *size, *flags, *modtime);
    } else {
-      if (gDebug > 1)
-         Info("SysStat", "could not stat remote file");
+      if (gDebug > 1) {
+         if (!IsOpen())
+            Info("SysStat", "could not stat remote file. File not open.");
+         else
+            Info("SysStat", "could not stat remote file");
+      }
+
       *id = -1;
       return 1;
    }