diff --git a/rigify/ui.py b/rigify/ui.py
index 156ab0b34a27ef85484e83f944cf2649faaab38c..435afa8631e0607758f67fcbe77eb5e1db1ad4c1 100644
--- a/rigify/ui.py
+++ b/rigify/ui.py
@@ -101,8 +101,14 @@ class DATA_PT_rigify_layer_names(bpy.types.Panel):
         obj = context.object
 
         # Ensure that the layers exist
-        for i in range(1 + len(obj.data.rigify_layers), 29):
-            obj.data.rigify_layers.add()
+        if 0:
+            for i in range(1 + len(obj.data.rigify_layers), 29):
+                obj.data.rigify_layers.add()
+        else:
+            # Can't add while drawing, just use button
+            if len(obj.data.rigify_layers) < 28:
+                layout.operator("pose.rigify_layer_init")
+                return
 
         # UI
         for i in range(28):
@@ -229,6 +235,20 @@ def rigify_report_exception(operator, exception):
     operator.report({'INFO'}, '\n'.join(message))
 
 
+class LayerInit(bpy.types.Operator):
+    """Initialize armature rigify layers"""
+
+    bl_idname = "pose.rigify_layer_init"
+    bl_label = "Add Rigify Layers"
+    bl_options = {'UNDO'}
+
+    def execute(self, context):
+        obj = context.object
+        for i in range(1 + len(obj.data.rigify_layers), 29):
+            obj.data.rigify_layers.add()
+        return {'FINISHED'}
+
+
 class Generate(bpy.types.Operator):
     """Generates a rig from the active metarig armature"""
 
@@ -292,6 +312,7 @@ def register():
     bpy.utils.register_class(DATA_PT_rigify_layer_names)
     bpy.utils.register_class(DATA_PT_rigify_buttons)
     bpy.utils.register_class(BONE_PT_rigify_buttons)
+    bpy.utils.register_class(LayerInit)
     bpy.utils.register_class(Generate)
     bpy.utils.register_class(Sample)
 
@@ -302,5 +323,6 @@ def unregister():
     bpy.utils.unregister_class(DATA_PT_rigify_layer_names)
     bpy.utils.unregister_class(DATA_PT_rigify_buttons)
     bpy.utils.unregister_class(BONE_PT_rigify_buttons)
+    bpy.utils.unregister_class(LayerInit)
     bpy.utils.unregister_class(Generate)
     bpy.utils.unregister_class(Sample)