Little things
diff --git a/plugins/org.eclipse.ldt/script/local/javamodelsbuilder.lua b/plugins/org.eclipse.ldt/script/local/javamodelsbuilder.lua
index a6faeb3..1c8eb38 100644
--- a/plugins/org.eclipse.ldt/script/local/javamodelsbuilder.lua
+++ b/plugins/org.eclipse.ldt/script/local/javamodelsbuilder.lua
@@ -12,7 +12,6 @@
 
 require 'metalua.loader'
 local compiler = require 'metalua.compiler'
-local pp = require 'metalua.pprint'
 local javamodelfactory = require 'javamodelfactory'
 
 local mlc51, mlc52
@@ -23,34 +22,31 @@
 local M = {}
 
 function M.newMLC51()
-  if (not mlc51) then
+  local function lexer51()
+    local generic_lexer = require 'metalua.grammar.lexer'
+    local lexer = generic_lexer.lexer :clone()
 
-    local function lexer51()
-      local generic_lexer = require 'metalua.grammar.lexer'
-      local lexer = generic_lexer.lexer :clone()
+    local keywords = {
+      "and", "break", "do", "else", "elseif",
+      "end", "false", "for", "function",
+      "if",
+      "in", "local", "nil", "not", "or", "repeat",
+      "return", "then", "true", "until", "while",
+      "...", "..", "==", ">=", "<=", "~=",
+      "+{", "-{"
+    }
 
-      local keywords = {
-        "and", "break", "do", "else", "elseif",
-        "end", "false", "for", "function",
-        "if",
-        "in", "local", "nil", "not", "or", "repeat",
-        "return", "then", "true", "until", "while",
-        "...", "..", "==", ">=", "<=", "~=",
-        "+{", "-{"
-      }
+    for _, w in ipairs(keywords) do lexer :add (w) end
 
-      for _, w in ipairs(keywords) do lexer :add (w) end
-
-      return lexer
-    end
-
-    mlc51 = compiler.new()
-    mlc51.parser.lexer = lexer51()
-    mlc51.parser.stat:del("goto")
-    mlc51.parser.stat:del("::")
+    return lexer
   end
 
-  return mlc51
+  local newmlc = compiler.new()
+  newmlc.parser.lexer = lexer51()
+  newmlc.parser.stat:del("goto")
+  newmlc.parser.stat:del("::")
+
+  return newmlc
 end
 
 ---
@@ -63,15 +59,15 @@
   local mlc
   if (luaGrammar == "lua-5.1") then
     if (not mlc51) then
-      M.newMLC51()
+      mlc51 = M.newMLC51()
     end
-    
+
     mlc = mlc51
   else
     if (not mlc52) then
       mlc52 = compiler.new()
     end
-    
+
     mlc = mlc52
   end
 
diff --git a/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/ast/parser/LuaSourceParser.java b/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/ast/parser/LuaSourceParser.java
index a195eb0..238a150 100644
--- a/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/ast/parser/LuaSourceParser.java
+++ b/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/ast/parser/LuaSourceParser.java
@@ -123,7 +123,10 @@
 
 				// Valid source code
 				IGrammar grammar = getGrammar(getProject(input));
-				ILuaSourceValidator sourceValidator = grammar.getValidator();
+				ILuaSourceValidator sourceValidator = null;
+				if (grammar != null) {
+					sourceValidator = grammar.getValidator();
+				}
 				if (sourceValidator == null) {
 					Activator.logWarning(NLS.bind("No validator found for input {0}.", input.getFileName())); //$NON-NLS-1$
 					module.setProblem(1, 1, 0, 0, "No validator have have been found for this file."); //$NON-NLS-1$