Index: /branches/Robocode/HeuristicLab.Problems.Robocode/Grammar.cs
===================================================================
--- /branches/Robocode/HeuristicLab.Problems.Robocode/Grammar.cs	(revision 9608)
+++ /branches/Robocode/HeuristicLab.Problems.Robocode/Grammar.cs	(revision 9609)
@@ -94,4 +94,5 @@
             var onHitWall = new OnHitWall();
             var onScannedRobot = new OnScannedRobot();
+            var emptyEvent = new EmptyEvent();
             
             var run = new Run();
@@ -145,5 +146,6 @@
             var eventSymbols = new List<ISymbol>()
             {
-                run, onBulletHit, onBulletMissed, onHitByBullet, onHitRobot, onHitWall, onScannedRobot, block
+                run, onBulletHit, onBulletMissed, onHitByBullet, 
+                onHitRobot, onHitWall, onScannedRobot, block, emptyEvent
             };
             #endregion
@@ -246,11 +248,16 @@
             }
 
+            // Add all Event Methods to Tank. Run and OnScannedEvent are not optional,
+            // so EmptyEvent cannot take their places
+
             AddAllowedChildSymbol(tank, run, 0);
-            AddAllowedChildSymbol(tank, onBulletHit, 1);
+            AddAllowedChildSymbol(tank, onScannedRobot, 1);
             AddAllowedChildSymbol(tank, onBulletMissed, 2);
             AddAllowedChildSymbol(tank, onHitByBullet, 3);
             AddAllowedChildSymbol(tank, onHitRobot, 4);
             AddAllowedChildSymbol(tank, onHitWall, 5);
-            AddAllowedChildSymbol(tank, onScannedRobot, 6);
+            AddAllowedChildSymbol(tank, onBulletHit, 6);
+            for (int i = 2; i < tank.MaximumArity; i++)
+                AddAllowedChildSymbol(tank, emptyEvent, i);
 
             AddAllowedChildSymbol(StartSymbol, tank, 0);
Index: /branches/Robocode/HeuristicLab.Problems.Robocode/HeuristicLab.Problems.Robocode.csproj
===================================================================
--- /branches/Robocode/HeuristicLab.Problems.Robocode/HeuristicLab.Problems.Robocode.csproj	(revision 9608)
+++ /branches/Robocode/HeuristicLab.Problems.Robocode/HeuristicLab.Problems.Robocode.csproj	(revision 9609)
@@ -109,4 +109,5 @@
     </Compile>
     <Compile Include="SolutionProgramView.Designer.cs" />
+    <Compile Include="Symbols\Event Methods\Events\EmptyEvent.cs" />
     <Compile Include="Symbols\Numerical Methods\INumericalMethod.cs" />
     <Compile Include="Symbols\Void Methods\Ahead.cs" />
Index: /branches/Robocode/HeuristicLab.Problems.Robocode/Symbols/Event Methods/Events/EmptyEvent.cs
===================================================================
--- /branches/Robocode/HeuristicLab.Problems.Robocode/Symbols/Event Methods/Events/EmptyEvent.cs	(revision 9609)
+++ /branches/Robocode/HeuristicLab.Problems.Robocode/Symbols/Event Methods/Events/EmptyEvent.cs	(revision 9609)
@@ -0,0 +1,44 @@
+﻿using HeuristicLab.Common;
+using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+namespace HeuristicLab.Problems.Robocode
+{
+    class EmptyEvent: CodeNode
+    {
+        public override int MinimumArity { get { return 0; } }
+        public override int MaximumArity { get { return 0; } }
+
+        [Storable]
+        public override string Prefix { get; set; }
+
+        [Storable]
+        public override string Suffix { get; set; }
+
+        [StorableConstructor]
+        private EmptyEvent(bool deserializing) : base(deserializing) { }
+        private EmptyEvent(EmptyEvent original, Cloner cloner)
+            : base(original, cloner)
+        {
+            this.Prefix = "";
+            this.Suffix = "";
+        }
+
+        public EmptyEvent()
+            : base("EmptyEvent", "This is a placeholder for an empty event.")
+        {
+            this.Prefix = "";
+            this.Suffix = "";
+        }
+
+        public override IDeepCloneable Clone(Cloner cloner)
+        {
+            return new EmptyEvent(this, cloner);
+        }
+
+        public override string Interpret(ISymbolicExpressionTreeNode node, System.Collections.Generic.IEnumerable<ISymbolicExpressionTreeNode> children)
+        {
+            return "";
+        }
+    }
+}
