Index: hudson/main/core/src/main/java/hudson/model/OneOffExecutor.java
===================================================================
--- hudson/main/core/src/main/java/hudson/model/OneOffExecutor.java	(revision 23569)
+++ hudson/main/core/src/main/java/hudson/model/OneOffExecutor.java	(working copy)
@@ -34,10 +34,15 @@
  */
 public class OneOffExecutor extends Executor {
     private Queue.Item item;
+    private boolean ready = false;
 
     public OneOffExecutor(Computer owner, Queue.Item item) {
         super(owner,-1);
-        this.item = item;
+        synchronized (this) {
+            this.item = item;
+            ready = true;
+            notifyAll();
+        }
     }
 
     @Override
@@ -54,9 +59,22 @@
         return r;
     }
 
+    private void waitReady() {
+        synchronized (this) {
+            while (!ready) {
+                try {
+                    wait();
+                } catch (InterruptedException e) {
+                    throw new RuntimeException(e);
+                }
+            }
+        }
+    }
+    
     @Override
     public void run() {
         try {
+            waitReady();
             super.run();
         } finally {
             owner.remove(this);