Added regression test for #1509.
diff --git a/robolectric/src/test/java/org/robolectric/util/ActivityControllerTest.java b/robolectric/src/test/java/org/robolectric/util/ActivityControllerTest.java
index eca3762..dbac794 100644
--- a/robolectric/src/test/java/org/robolectric/util/ActivityControllerTest.java
+++ b/robolectric/src/test/java/org/robolectric/util/ActivityControllerTest.java
@@ -6,6 +6,7 @@
 import android.content.Intent;
 import android.os.Build;
 import android.os.Bundle;
+import android.os.Handler;
 import android.os.Looper;
 import android.view.Window;
 import android.widget.LinearLayout;
@@ -44,6 +45,40 @@
     assertThat(activityController.setup()).isNotNull();
   }
 
+  public static class TestDelayedPostActivity extends Activity {
+    TestRunnable r1 = new TestRunnable();
+    TestRunnable r2 = new TestRunnable();
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+      super.onCreate(savedInstanceState);
+      Handler h = new Handler();
+      h.post(r1);
+      h.postDelayed(r2, 60000);
+    }
+  }
+
+  @Test
+  public void pendingTasks_areRunEagerly_whenActivityIsStarted_andSchedulerUnPaused() {
+    final Scheduler s = Robolectric.getForegroundThreadScheduler();
+    final long startTime = s.getCurrentTime();
+    TestDelayedPostActivity activity = Robolectric.setupActivity(TestDelayedPostActivity.class);
+    assertThat(activity.r1.wasRun).as("immediate task").isTrue();
+    assertThat(s.getCurrentTime()).as("currentTime").isEqualTo(startTime);
+  }
+
+  @Test
+  public void delayedTasks_areNotRunEagerly_whenActivityIsStarted_andSchedulerUnPaused() {
+    // Regression test for issue #1509
+    final Scheduler s = Robolectric.getForegroundThreadScheduler();
+    final long startTime = s.getCurrentTime();
+    TestDelayedPostActivity activity = Robolectric.setupActivity(TestDelayedPostActivity.class);
+    assertThat(activity.r2.wasRun).as("before flush").isFalse();
+    assertThat(s.getCurrentTime()).as("currentTime before flush").isEqualTo(startTime);
+    s.advanceToLastPostedRunnable();
+    assertThat(activity.r2.wasRun).as("after flush").isTrue();
+    assertThat(s.getCurrentTime()).as("currentTime after flush").isEqualTo(startTime + 60000);
+  }
+
   @Test
   public void shouldSetIntent() throws Exception {
     MyActivity myActivity = controller.create().get();