Index: trunk/Mars/mcorsika/MCorsikaRead.cc
===================================================================
--- trunk/Mars/mcorsika/MCorsikaRead.cc	(revision 19540)
+++ trunk/Mars/mcorsika/MCorsikaRead.cc	(revision 19550)
@@ -208,7 +208,7 @@
         const UInt_t  telid = atoi(res->At(3)->GetName());
 
-        *fLog << inf2 << "Run " << runid << " detected to be for the " << telid << "-th telescope." << endl;
-
-        if (fNumTelescopes<telid)
+        *fLog << inf2 << "Run " << runid << " detected to be for telescope #" << telid << endl;
+
+        if (telid>=fNumTelescopes)
         {
             *fLog << err << "Position of telescope " << telid << " not defined." << endl;
@@ -217,9 +217,9 @@
 
         *fLog << inf << "Telescope #" << telid << " [X/Y/Z (R)]: ";
-        *fLog << fTelescopeX[telid-1] << "/";
-        *fLog << fTelescopeY[telid-1] << "/";
-        *fLog << fTelescopeZ[telid-1] << " (R=" << fTelescopeR[telid-1] << ")" << endl;
-
-        fNumTelescope = telid;
+        *fLog << fTelescopeX[telid] << "/";
+        *fLog << fTelescopeY[telid] << "/";
+        *fLog << fTelescopeZ[telid] << " (R=" << fTelescopeR[telid] << ")" << endl;
+
+        fNumTelescope = telid+1;
     }
     delete res;
@@ -774,8 +774,7 @@
 {
     Bool_t rc = kFALSE;
-    if (IsEnvDefined(env, prefix, "TelescopeIndex", print))
+    if (IsEnvDefined(env, prefix, "TelescopeX", print) || IsEnvDefined(env, prefix, "TelescopeY", print))
     {
         rc = kTRUE;
-        fNumTelescope = GetEnvValue(env, prefix, "TelescopeIndex", 0);
 
         fTelescopeX.Set(1);
@@ -828,31 +827,24 @@
             {
                 const UInt_t idx = atoi(res->At(9)->GetName());
-                if (idx==0)
-                {
-                    *fLog << warn << "Telescope with index 0 ignored." << endl;
-                    delete res;
-                    continue;
-                }
                 if (idx>=fNumTelescopes)
                 {
-                    fTelescopeX.Set(idx);
-                    fTelescopeY.Set(idx);
-                    fTelescopeZ.Set(idx);
-                    fTelescopeR.Set(idx);
-                    fNumTelescopes = idx;
+                    fNumTelescopes = idx+1;
+                    fTelescopeX.Set(fNumTelescopes);
+                    fTelescopeY.Set(fNumTelescopes);
+                    fTelescopeZ.Set(fNumTelescopes);
+                    fTelescopeR.Set(fNumTelescopes);
                 }
 
-                fTelescopeX[idx-1] = atof(res->At(1)->GetName());
-                fTelescopeY[idx-1] = atof(res->At(3)->GetName());
-                fTelescopeZ[idx-1] = atof(res->At(5)->GetName());
-                fTelescopeR[idx-1] = atof(res->At(7)->GetName());
+                fTelescopeX[idx] = atof(res->At(1)->GetName());
+                fTelescopeY[idx] = atof(res->At(3)->GetName());
+                fTelescopeZ[idx] = atof(res->At(5)->GetName());
+                fTelescopeR[idx] = atof(res->At(7)->GetName());
             }
             delete res;
         }
 
-
         for (int i=0; i<fNumTelescopes; i++)
         {
-            *fLog << all << "Telescope #" << setw(4) << i+1 << " [X/Y/Z (R)]: ";
+            *fLog << all << "Telescope #" << setw(4) << i << " [X/Y/Z (R)]: ";
             *fLog << setw(7) << fTelescopeX[i] << "/";
             *fLog << setw(7) << fTelescopeY[i] << "/";
