Index: trunk/src/scriptbuilder/structures/ScriptIncident.java
===================================================================
--- trunk/src/scriptbuilder/structures/ScriptIncident.java	(revision 107)
+++ trunk/src/scriptbuilder/structures/ScriptIncident.java	(revision 111)
@@ -158,13 +158,13 @@
         this.offset = offset;
         TreeMap<Integer, TimeSlice> newSlices = new TreeMap<Integer, TimeSlice>();
-        
+
         int latest = 0;
-        
-        for(Integer k : slices.keySet())
+
+        for (Integer k : slices.keySet())
         {
             newSlices.put(k + (offset - old), slices.get(k));
             latest = k + (offset - old);
         }
-        
+
         latestStart = latest;
 
@@ -173,5 +173,5 @@
             ts.shift(offset - old);
         }
-        
+
         slices = newSlices;
         updateLength();
@@ -188,8 +188,9 @@
     public void addNewEvent(I_ScriptEvent ev, int start)
     {
+        //Check to see if there's already a timeslice here
         TimeSlice t = slices.get(start);
+        //If not, make one; then, add the event to it
         if (t == null)
         {
-            //System.out.println("Generating new slice at time " + start);
             t = new TimeSlice(start, this);
             t.addEvent(ev);
@@ -202,10 +203,12 @@
         eventCount++;
 
+        //If this is the latest start time in the incident, update that number
         if (start > latestStart)
         {
             latestStart = start;
-            //System.out.println("Latest Start: " + latestStart);
-        }
-        if (start < offset)
+        }
+        //If this event is earlier than all previous events, or if there are 
+        //no other events, the offset is equal to this event's start time
+        if (start < offset || eventCount == 1)
         {
             offset = start;
@@ -375,8 +378,8 @@
         return this.number + " - " + this.name;
     }
-    
+
     /**
      * Remove the timeslice at the given position.
-     * 
+     *
      * @param seconds absolute start time of the timeslice to remove.
      */
@@ -385,7 +388,7 @@
         //remove the timeslice
         this.slices.remove(seconds);
-        
+
         //offset is equivalent to start time of earliest slice
-        if(seconds == offset)
+        if (seconds == offset)
         {
             offset = slices.firstKey();
Index: trunk/src/scriptbuilder/structures/TimeSlice.java
===================================================================
--- trunk/src/scriptbuilder/structures/TimeSlice.java	(revision 107)
+++ trunk/src/scriptbuilder/structures/TimeSlice.java	(revision 111)
@@ -213,5 +213,4 @@
         }
 
-        System.out.println("Seconds:: " + seconds);
         String output = XMLWriter.openTag(ELEMENT.SCRIPT_EVENT.tag);
         SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
@@ -275,5 +274,4 @@
         }
         output += XMLWriter.closeTag(ELEMENT.SCRIPT_EVENT.tag);
-        System.out.println(output);
         return output;
     }
@@ -297,5 +295,5 @@
                 || ev instanceof WitnessEvent || ev instanceof CADEvent;
     }
-    
+
     public void checkEmpty()
     {
Index: trunk/src/scriptbuilder/gui/application.properties
===================================================================
--- trunk/src/scriptbuilder/gui/application.properties	(revision 103)
+++ trunk/src/scriptbuilder/gui/application.properties	(revision 111)
@@ -1,3 +1,3 @@
-#Fri, 01 Sep 2017 13:13:39 -0700
+#Tue, 05 Sep 2017 18:53:17 -0700
 
 Application.revision=0
