diff --git a/packages/pastojs/src/fppas2js.pp b/packages/pastojs/src/fppas2js.pp
index 23e3f9c08a..659c32d3c9 100644
--- a/packages/pastojs/src/fppas2js.pp
+++ b/packages/pastojs/src/fppas2js.pp
@@ -25054,7 +25054,9 @@ var
   Parent: TPasElement;
   CurModule: TPasModule;
   ElClass: TClass;
+  aResolver: TPas2JSResolver;
 begin
+  aResolver:=AContext.Resolver;
   Result:=AContext.GetLocalName(El,[cvkGlobal]);
   if Result<>'' then
     begin
@@ -25091,6 +25093,12 @@ begin
         Result:=TransformModuleName(TPasModule(Parent),true,AContext)
       else
         RaiseNotSupported(El,AContext,20200609230526,GetObjPath(El));
+      end
+    else
+      begin
+      // parent has local var
+      if (coStoreImplJS in Options) and (aResolver.GetParentProcBody(Parent)=nil) then
+        StoreImplJSLocal(Parent,AContext);
       end;
     Result:=Result+'.'+TransformElToJSName(El,AContext);
     end
diff --git a/packages/pastojs/tests/tcprecompile.pas b/packages/pastojs/tests/tcprecompile.pas
index aa88a2ed86..e84c4bfa60 100644
--- a/packages/pastojs/tests/tcprecompile.pas
+++ b/packages/pastojs/tests/tcprecompile.pas
@@ -64,6 +64,7 @@ type
     procedure TestPCU_Class_Constructor;
     procedure TestPCU_Class_ClassConstructor;
     procedure TestPCU_ClassInterface;
+    procedure TestPCU_EnumNames;
     procedure TestPCU_Namespace;
     procedure TestPCU_CheckVersionMain;
     procedure TestPCU_CheckVersionMain2;
@@ -135,6 +136,7 @@ begin
     if ExpExitCode=0 then
       begin
       NewSrc:=JSFile.Source;
+      //writeln('TCustomTestCLI_Precompile.CheckPrecompile ',NewSrc);
       if not CheckSrcDiff(OrigSrc,NewSrc,s) then
         begin
         WriteSources;
@@ -510,6 +512,46 @@ begin
   CheckPrecompile('test1.pas','src');
 end;
 
+procedure TTestCLI_Precompile.TestPCU_EnumNames;
+var
+  SharedParams: TStringList;
+begin
+  AddUnit('src/system.pp',[
+    'type integer = longint;',
+    '  TObject = class end;',
+    'procedure Writeln; varargs;'],
+    ['procedure Writeln; begin end;']);
+  AddUnit('src/unit1.pp',
+  ['type',
+  '  TEnum = (red,green,blue);',
+   '  TBird = class ',
+   '  private',
+   '    Color: TEnum;',
+   '  public',
+   '    procedure Fly;',
+   '    procedure Run;',
+   '  end;',
+   ''],
+  ['procedure TBird.Fly;',
+   'begin',
+   '  Color:=blue;',
+   'end;',
+   'procedure TBird.Run;',
+   'begin',
+   '  Color:=green;',
+   'end;']);
+  AddFile('test1.pas',[
+    'uses unit1;',
+    'var b: TBird;',
+    'begin',
+    '  b.Fly();',
+    '  b.Run();',
+    'end.']);
+  SharedParams:=TStringList.Create;
+  SharedParams.Add('-OoEnumNumbers-');
+  CheckPrecompile('test1.pas','src',SharedParams);
+end;
+
 procedure TTestCLI_Precompile.TestPCU_Namespace;
 begin
   AddUnit('src/system.pp',[