diff --git a/include/clang-c/Index.h b/include/clang-c/Index.h
index 6bd0286..fbeb14d 100644
--- a/include/clang-c/Index.h
+++ b/include/clang-c/Index.h
@@ -1557,9 +1557,7 @@
 /**
  * \brief Returns non-zero if \arg cursor is null.
  */
-static inline int clang_Cursor_isNull(CXCursor cursor) {
-  return clang_equalCursors(cursor, clang_getNullCursor());
-}
+int clang_Cursor_isNull(CXCursor);
 
 /**
  * \brief Compute a hash value for the given cursor.
diff --git a/tools/libclang/CXCursor.cpp b/tools/libclang/CXCursor.cpp
index c0e0384..6205c0a 100644
--- a/tools/libclang/CXCursor.cpp
+++ b/tools/libclang/CXCursor.cpp
@@ -522,10 +522,18 @@
 // libclang CXCursor APIs
 //===----------------------------------------------------------------------===//
 
+extern "C" {
+
+int clang_Cursor_isNull(CXCursor cursor) {
+  return clang_equalCursors(cursor, clang_getNullCursor());
+}
+
 CXTranslationUnit clang_Cursor_getTranslationUnit(CXCursor cursor) {
   return getCursorTU(cursor);
 }
 
+} // end: extern "C"
+
 //===----------------------------------------------------------------------===//
 // CXCursorSet.
 //===----------------------------------------------------------------------===//
diff --git a/tools/libclang/libclang.exports b/tools/libclang/libclang.exports
index 71cd261..019110a 100644
--- a/tools/libclang/libclang.exports
+++ b/tools/libclang/libclang.exports
@@ -21,6 +21,7 @@
 clang_createTranslationUnit
 clang_createTranslationUnitFromSourceFile
 clang_Cursor_getTranslationUnit
+clang_Cursor_isNull
 clang_defaultCodeCompleteOptions
 clang_defaultDiagnosticDisplayOptions
 clang_defaultEditingTranslationUnitOptions
