diff --git a/lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp b/lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp
index afe5ad6ea45..e9c8cd64721 100644
--- a/lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp
+++ b/lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp
@@ -493,14 +493,14 @@ void X86IntelAsmPrinter::PrintGlobalVariable(const GlobalVariable *GV) {
   case GlobalValue::LinkOnceODRLinkage:
   case GlobalValue::WeakAnyLinkage:
   case GlobalValue::WeakODRLinkage:
-    SwitchToSection(0);
+    // FIXME: make a MCSection.
     O << name << "?\tSEGEMNT PARA common 'COMMON'\n";
     bCustomSegment = true;
     // FIXME: the default alignment is 16 bytes, but 1, 2, 4, and 256
     // are also available.
     break;
   case GlobalValue::AppendingLinkage:
-    SwitchToSection(0);
+    // FIXME: make a MCSection.
     O << name << "?\tSEGMENT PARA public 'DATA'\n";
     bCustomSegment = true;
     // FIXME: the default alignment is 16 bytes, but 1, 2, 4, and 256
@@ -538,7 +538,6 @@ void X86IntelAsmPrinter::PrintGlobalVariable(const GlobalVariable *GV) {
 bool X86IntelAsmPrinter::doFinalization(Module &M) {
   // Output linker support code for dllexported globals
   if (!DLLExportedGVs.empty() || !DLLExportedFns.empty()) {
-    SwitchToSection(0);
     O << "; WARNING: The following code is valid only with MASM v8.x"
       << "and (possible) higher\n"
       << "; This version of MASM is usually shipped with Microsoft "
@@ -564,7 +563,6 @@ bool X86IntelAsmPrinter::doFinalization(Module &M) {
 
   // Bypass X86SharedAsmPrinter::doFinalization().
   bool Result = AsmPrinter::doFinalization(M);
-  SwitchToSection(0);
   O << "\tend\n";
   return Result;
 }