 
       o.importingFile = file
 
-      Import.properties.push [ literalKey, new Literal call.compile o ]
+      Import.properties.push [ importKey, call.compile o ]
 
       Import.imported[file] = yes
 
-      if relative is ""
-        Import.importedDeclarations[variable] = new Call new Literal("__imports.get"), [literalKey]
-
-    literalKey
+      unless relative
+        Import.importedDeclarations[variable] = new Call new Literal("__imports.get"), [new Literal "'#{ importKey }'"]
+
+    importKey
 
   @flush: (o)  ->
     try
       return unless Import.properties.length
       return ["__imports", Import.assignImports o]
     finally
-      Import.imported = {}
+      Import.imported   = {}
       Import.properties = []
-      Import.rootFile = null
+
+      Import.rootFile       = null
+      Import.delayedEnabled = no
+
       Import.importedDeclarations = {}
-      Import.delayedEnabled = no
 
   @assignImports: (o)  ->
     o = extend {}, o


    filename = @filename o
    
    args = [ @checkImports o, variable, filename ]

    unless Import.imported[filename] or o.importingFile is filename
      args.push new Literal "function(cl) { #{variable} = cl; }"

    rel = if Import.rootFile is "repl" then "." else Import.rootFile
    relative = (Path.relative FileSystem.realpathSync(rel), file).replace /^(\.\.\/|\.\.\\\\)/, ""

    importKey = relative or Path.basename file 

    unless file of Import.imported
      Import.imported[file] = no
