diff --git a/rosjava/src/main/java/org/ros/time/ClockTopicTimeProvider.java b/rosjava/src/main/java/org/ros/time/ClockTopicTimeProvider.java
index 4e52dd359c5bf33757e2d5c0620a51b280ae7e8a..22d4e3243b4ec1f029fb3ba79884725b79e78d4b 100644
--- a/rosjava/src/main/java/org/ros/time/ClockTopicTimeProvider.java
+++ b/rosjava/src/main/java/org/ros/time/ClockTopicTimeProvider.java
@@ -57,7 +57,12 @@ public class ClockTopicTimeProvider implements TimeProvider {
 
   @Override
   public Time getCurrentTime() {
-    Preconditions.checkNotNull(clock);
+    // When using simulation time, the ROS Time API will return time=0 until it has received a
+    // message from the /clock topic.
+    if (clock == null) {
+      return new Time();
+    }
+
     synchronized (mutex) {
       return new Time(clock.getClock());
     }