diff --git a/examples/Tooling/ClangCheck.cpp b/examples/Tooling/ClangCheck.cpp
index 0dfa53d44e642f5cbbcd6626df6ba23427e72eba..db24ec31eccfaa2a31f12c80d43d737c540fed7e 100644
--- a/examples/Tooling/ClangCheck.cpp
+++ b/examples/Tooling/ClangCheck.cpp
@@ -93,6 +93,12 @@ int main(int argc, char **argv) {
         clang::tooling::FindCompileArgsInJsonDatabase(
             File.str(), JsonDatabase->getBuffer(), ErrorMessage);
     if (!LookupResult.CommandLine.empty()) {
+      if (LookupResult.Directory.size()) {
+        // FIXME: What should happen if CommandLine includes -working-directory
+        // as well?
+        LookupResult.CommandLine.push_back(
+            "-working-directory=" + LookupResult.Directory);
+      }
       if (!clang::tooling::RunToolWithFlags(
                new clang::SyntaxOnlyAction,
                LookupResult.CommandLine.size(),
diff --git a/lib/Tooling/JsonCompileCommandLineDatabase.h b/lib/Tooling/JsonCompileCommandLineDatabase.h
index 9e776d60010dfa9c03f269b5eea5694ae6557ebb..ea7cf0e6e1524ddbfc2da0f325a0074e821af3e6 100644
--- a/lib/Tooling/JsonCompileCommandLineDatabase.h
+++ b/lib/Tooling/JsonCompileCommandLineDatabase.h
@@ -78,7 +78,7 @@ class JsonCompileCommandLineParser {
                                CompileCommandHandler *CommandHandler);
 
   /// \brief Parses the specified input. Returns true if no parsing errors were
-  /// foudn.
+  /// found.
   bool Parse();
 
   /// \brief Returns an error message if Parse() returned false previously.