diff --git a/src/IceCompiler.cpp b/src/IceCompiler.cpp
index 2db7abc..7619b17 100644
--- a/src/IceCompiler.cpp
+++ b/src/IceCompiler.cpp
@@ -141,21 +141,28 @@
   }
 
   Ctx.waitForWorkerThreads();
-  Translator->transferErrorCode();
-  Translator->emitConstants();
+  if (Translator->getErrorStatus()) {
+    Ctx.getErrorStatus()->assign(Translator->getErrorStatus().value());
+  } else {
+    Ctx.lowerGlobals("last");
+    Ctx.lowerProfileData();
+    Ctx.lowerConstants();
 
-  if (Ctx.getFlags().getOutFileType() == FT_Elf) {
-    TimerMarker T1(Ice::TimerStack::TT_emit, &Ctx);
-    Ctx.getObjectWriter()->setUndefinedSyms(Ctx.getConstantExternSyms());
-    Ctx.getObjectWriter()->writeNonUserSections();
+    if (Ctx.getFlags().getOutFileType() == FT_Elf) {
+      TimerMarker T1(Ice::TimerStack::TT_emit, &Ctx);
+      Ctx.getObjectWriter()->setUndefinedSyms(Ctx.getConstantExternSyms());
+      Ctx.getObjectWriter()->writeNonUserSections();
+    }
   }
+
   if (Ctx.getFlags().getSubzeroTimingEnabled())
     Ctx.dumpTimers();
+
   if (Ctx.getFlags().getTimeEachFunction()) {
     const bool DumpCumulative = false;
     Ctx.dumpTimers(GlobalContext::TSK_Funcs, DumpCumulative);
   }
-  const bool FinalStats = true;
+  constexpr bool FinalStats = true;
   Ctx.dumpStats("_FINAL_", FinalStats);
 }
 
