diff --git a/src/libs/cplusplus/pp-engine.cpp b/src/libs/cplusplus/pp-engine.cpp
index fd618d27065d344ce434c82328b0c320c9b5ab1f..d2ed3ee73f37515cc21fae046765761266e05eda 100644
--- a/src/libs/cplusplus/pp-engine.cpp
+++ b/src/libs/cplusplus/pp-engine.cpp
@@ -481,12 +481,12 @@ void pp::operator () (const QByteArray &filename,
                       const QByteArray &source,
                       QByteArray *result)
 {
-    const QByteArray previousFile = env.current_file;
-    env.current_file = filename;
+    const QByteArray previousFile = env.currentFile;
+    env.currentFile = filename;
 
     operator () (source, result);
 
-    env.current_file = previousFile;
+    env.currentFile = previousFile;
 }
 
 pp::State pp::createStateFromSource(const QByteArray &source) const
@@ -518,7 +518,7 @@ void pp::operator()(const QByteArray &source, QByteArray *result)
                 result->append(QByteArray::number(_dot->lineno));
                 result->append(' ');
                 result->append('"');
-                result->append(env.current_file);
+                result->append(env.currentFile);
                 result->append('"');
                 result->append('\n');
             } else {
@@ -844,6 +844,8 @@ void pp::processDefine(TokenIterator firstToken, TokenIterator lastToken)
     }
 
     Macro macro;
+    macro.fileName = env.currentFile;
+    macro.line = env.currentLine;
     macro.name = tokenText(*tk);
     ++tk; // skip T_IDENTIFIER
 
diff --git a/src/libs/cplusplus/pp-environment.cpp b/src/libs/cplusplus/pp-environment.cpp
index ff2ca77e4f2d604ca88572efbac1b77e57029f71..20491727a4ceb2cb9be060cc0d7e9a998ea92794 100644
--- a/src/libs/cplusplus/pp-environment.cpp
+++ b/src/libs/cplusplus/pp-environment.cpp
@@ -97,8 +97,6 @@ Macro *Environment::bind(const Macro &__macro)
 
     Macro *m = new Macro (__macro);
     m->hashcode = hash_code(m->name);
-    m->fileName = current_file;
-    m->line = currentLine;
 
     if (++_macro_count == _allocated_macros) {
         if (! _allocated_macros)
@@ -122,11 +120,13 @@ Macro *Environment::bind(const Macro &__macro)
     return m;
 }
 
-Macro *Environment::remove (const QByteArray &name)
+Macro *Environment::remove(const QByteArray &name)
 {
     Macro macro;
     macro.name = name;
     macro.hidden = true;
+    macro.fileName = currentFile;
+    macro.line = currentLine;
     return bind(macro);
 }
 
diff --git a/src/libs/cplusplus/pp-environment.h b/src/libs/cplusplus/pp-environment.h
index e2a75d29b819f4990b649ac428e8bd928e30c83f..4200b5ea0ff0548852535b699eb9680444599d5e 100644
--- a/src/libs/cplusplus/pp-environment.h
+++ b/src/libs/cplusplus/pp-environment.h
@@ -94,7 +94,7 @@ private:
     void rehash();
 
 public:
-    QByteArray current_file;
+    QByteArray currentFile;
     unsigned currentLine;
     bool hide_next;
 
diff --git a/src/libs/cplusplus/pp-macro-expander.cpp b/src/libs/cplusplus/pp-macro-expander.cpp
index 9ae9702fe18fa21dcd240b0f6c4d59ee21fbf5aa..e17dd873dba8e12370165e06285e3d157baa7350 100644
--- a/src/libs/cplusplus/pp-macro-expander.cpp
+++ b/src/libs/cplusplus/pp-macro-expander.cpp
@@ -73,7 +73,7 @@ const char *MacroExpander::operator () (const char *__first, const char *__last,
             __result->append(QByteArray::number(env.currentLine));
             __result->append(' ');
             __result->append('"');
-            __result->append(env.current_file);
+            __result->append(env.currentFile);
             __result->append('"');
             __result->append('\n');
             ++lines;
@@ -218,7 +218,7 @@ const char *MacroExpander::operator () (const char *__first, const char *__last,
                     else if (fast_name == "__FILE__")
                     {
                         __result->append('"');
-                        __result->append(env.current_file);
+                        __result->append(env.currentFile);
                         __result->append('"');
                         continue;
                     }
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index 5111aa3199673b0f8bca8e6dfa33645517c75f04..40888d99f3f770af4f6461e007a6230503ce0eb9 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -390,17 +390,17 @@ void CppPreprocessor::sourceNeeded(QString &fileName, IncludeType type)
         } else {
             Document::Ptr previousDoc = switchDocument(Document::create(fileName));
 
-            const QByteArray previousFile = env.current_file;
+            const QByteArray previousFile = env.currentFile;
             const unsigned previousLine = env.currentLine;
 
-            env.current_file = QByteArray(m_currentDoc->translationUnit()->fileName(),
-                                          m_currentDoc->translationUnit()->fileNameLength());
+            env.currentFile = QByteArray(m_currentDoc->translationUnit()->fileName(),
+                                         m_currentDoc->translationUnit()->fileNameLength());
 
             QByteArray preprocessedCode;
             m_proc(contents, &preprocessedCode);
             //qDebug() << preprocessedCode;
 
-            env.current_file = previousFile;
+            env.currentFile = previousFile;
             env.currentLine = previousLine;
 
             m_currentDoc->setSource(preprocessedCode);