diff --git a/src/modules/Perl/perlmod.c b/src/modules/Perl/perlmod.c
index fd3975c600408a1a53ff115101f3c690405f76f9..cc180c37a7f3cc14be12651417dee339ba434ebb 100644
--- a/src/modules/Perl/perlmod.c
+++ b/src/modules/Perl/perlmod.c
@@ -197,6 +197,10 @@ static void perlmod_create(INT32 args)
     int env_block_size=0;
     char *env_blockp;
 
+#ifdef DECLARE_ENVIRON
+    extern char **environ;
+#endif
+
     for(d=0;environ[d];d++)
       env_block_size+=strlen(environ[d])+1;
 
@@ -208,7 +212,7 @@ static void perlmod_create(INT32 args)
     for(d=0;environ[d];d++)
     {
       int l=strlen(environ[d]);
-      THIS->env[d++]=env_blockp;
+      THIS->env[d]=env_blockp;
       MEMCPY(env_blockp,environ[d],l+1);
       env_blockp+=l+1;
     }