diff --git a/net/alien/inc/TAlien.h b/net/alien/inc/TAlien.h
index 8bc3ce10ba1676d2d53f8aeb1814d478e740002c..1c6880a8d5b0798dd268c7debace6cea0e8d8ca4 100644
--- a/net/alien/inc/TAlien.h
+++ b/net/alien/inc/TAlien.h
@@ -88,7 +88,7 @@ public:
    virtual const char  *Pwd(Bool_t verbose=kFALSE);
    virtual const char  *GetHomeDirectory() { return fHome.Data(); }
    virtual Bool_t Cd(const char *ldn="", Bool_t verbose=kFALSE);
-   virtual Bool_t Mkdir(const char *ldn="", Option_t *options="", Bool_t verbose=kFALSE);
+   virtual Int_t Mkdir(const char *ldn="", Option_t *options="", Bool_t verbose=kFALSE);
    virtual Bool_t Rmdir(const char *ldn="", Option_t *options="", Bool_t verbose=kFALSE);
    virtual Bool_t Register(const char *lfn, const char *turl, Long_t size=-1,
                            const char *se=0, const char *guid=0, Bool_t verbose=kFALSE);
diff --git a/net/alien/src/TAlien.cxx b/net/alien/src/TAlien.cxx
index b70f13c8ae661473703d695dad05d3aea63724ca..108688caf66cd30d97a808147bfb2e96dbe2dcf9 100644
--- a/net/alien/src/TAlien.cxx
+++ b/net/alien/src/TAlien.cxx
@@ -504,7 +504,7 @@ const char* TAlien::Pwd(Bool_t verbose)
 }
 
 //______________________________________________________________________________
-Bool_t TAlien::Mkdir(const char* ldn, Option_t* options, Bool_t verbose)
+Int_t TAlien::Mkdir(const char* ldn, Option_t* options, Bool_t verbose)
 {
    TString cmdline = TString("mkdir");
    if (strlen(options)) {
@@ -523,15 +523,15 @@ Bool_t TAlien::Mkdir(const char* ldn, Option_t* options, Bool_t verbose)
    const char* result = (GetStreamFieldValue(kOUTPUT,0,0));
    if (result) {
       if (strlen(result) > 0) {
-         if (atoi(result) == 1) {
-            return kTRUE;
+         if (atoi(result) > 0) {
+            return atoi(result);
          }
       }
    }
 
    Error("Mkdir","Cannot create directory %s\n",ldn);
    if (!verbose) Stdout();
-   return kFALSE;
+   return 0;
 }
 
 //______________________________________________________________________________
@@ -775,4 +775,3 @@ TGridResult* TAlien::ListPackages(const char* alienpackagedir)
    }
    return gr;
 }
-
diff --git a/net/glite/inc/TGLite.h b/net/glite/inc/TGLite.h
index 55931f3c7e08410a71a2244fa8c32b6f8a18cf9b..b8e00f68e2d28ee793b8f73154b76d676c1454b0 100644
--- a/net/glite/inc/TGLite.h
+++ b/net/glite/inc/TGLite.h
@@ -58,7 +58,7 @@ public:
    virtual TGridResult* Ls(const char *_ldn = "", Option_t* /*options*/ = "", Bool_t /*verbose*/ = kFALSE);
    virtual const char* Pwd(Bool_t /*verbose*/ = kFALSE);
    virtual Bool_t Cd(const char *_ldn = "", Bool_t /*verbose*/ = kFALSE);
-   virtual Bool_t Mkdir(const char *_ldn = "", Option_t* /*options*/ = "", Bool_t /*verbose*/ = kFALSE);
+   virtual Int_t  Mkdir(const char *_ldn = "", Option_t* /*options*/ = "", Bool_t /*verbose*/ = kFALSE);
    virtual Bool_t Rmdir(const char *_ldn = "", Option_t* /*options*/ = "", Bool_t /*verbose*/ = kFALSE);
    virtual Bool_t Register(const char *_lfn, const char *_turl , Long_t /*size*/ = -1, const char *_se = 0, const char *_guid = 0, Bool_t /*verbose*/ = kFALSE);
    virtual Bool_t Rm(const char *_lfn, Option_t* /*option*/ = "", Bool_t /*verbose*/ = kFALSE);
diff --git a/net/glite/src/TGLite.cxx b/net/glite/src/TGLite.cxx
index a7ba1b8346994f8491a1c7bc1315f95e15ef8685..7a7557e0a4435c68015feaefa9f6c13fe353158a 100644
--- a/net/glite/src/TGLite.cxx
+++ b/net/glite/src/TGLite.cxx
@@ -435,7 +435,7 @@ Bool_t TGLite::Cd(const char *_ldn, Bool_t /*verbose*/)
 
 
 //______________________________________________________________________________
-Bool_t TGLite::Mkdir(const char *_ldn, Option_t* /*options*/, Bool_t /*verbose*/)
+Int_t TGLite::Mkdir(const char *_ldn, Option_t* /*options*/, Bool_t /*verbose*/)
 {
    // A File Catalog method. Create a new directory on the name server.
    // INPUT:
diff --git a/net/net/inc/TGrid.h b/net/net/inc/TGrid.h
index 3612c0ab5fe84696293d2287767bef1a2f560a30..401b58c98b0167edc254ac800533e026b65c1361 100644
--- a/net/net/inc/TGrid.h
+++ b/net/net/inc/TGrid.h
@@ -96,7 +96,7 @@ public:
       { MayNotUse("GetHomeDirectory"); return 0; }
    virtual Bool_t Cd(const char* /*ldn*/ ="",Bool_t /*verbose*/ =kFALSE)
       { MayNotUse("Cd"); return kFALSE; }
-   virtual Bool_t Mkdir(const char* /*ldn*/ ="", Option_t* /*options*/ ="", Bool_t /*verbose*/ =kFALSE)
+   virtual Int_t  Mkdir(const char* /*ldn*/ ="", Option_t* /*options*/ ="", Bool_t /*verbose*/ =kFALSE)
       { MayNotUse("Mkdir"); return kFALSE; }
    virtual Bool_t Rmdir(const char* /*ldn*/ ="", Option_t* /*options*/ ="", Bool_t /*verbose*/ =kFALSE)
       { MayNotUse("Mkdir"); return kFALSE; }