diff --git a/llvm/lib/Bytecode/Writer/Writer.cpp b/llvm/lib/Bytecode/Writer/Writer.cpp
index 5675b2a..6467921 100644
--- a/llvm/lib/Bytecode/Writer/Writer.cpp
+++ b/llvm/lib/Bytecode/Writer/Writer.cpp
@@ -164,7 +164,8 @@
 void BytecodeWriter::outputConstants(bool isFunction) {
   ConstantTotalBytes -= Out.size();
   if (isFunction) FunctionConstantTotalBytes -= Out.size();
-  BytecodeBlock CPool(BytecodeFormat::ConstantPool, Out);
+  BytecodeBlock CPool(BytecodeFormat::ConstantPool, Out,
+                      true  /* Elide block if empty */);
 
   unsigned NumPlanes = Table.getNumPlanes();
 
@@ -286,7 +287,8 @@
 
   SymTabBytes -= Out.size();
   
-  BytecodeBlock SymTabBlock(BytecodeFormat::SymbolTable, Out);
+  BytecodeBlock SymTabBlock(BytecodeFormat::SymbolTable, Out,
+                            true/* ElideIfEmpty*/);
 
   for (SymbolTable::const_iterator TI = MST.begin(); TI != MST.end(); ++TI) {
     SymbolTable::type_const_iterator I = MST.type_begin(TI->first);
