diff --git a/examples/uniq.f90 b/examples/uniq.f90
index 02444ca158b281ead4b72409697f2a4c7c2e1cda..e599c9833e517fbbd397b3fb4efce6d42efa3f89 100644
--- a/examples/uniq.f90
+++ b/examples/uniq.f90
@@ -201,22 +201,40 @@ CONTAINS
     j = 1
     k = 1
 
+    ! Handle the first element (we cannot put this into the loop below because
+    ! the compiler might not perform the short-circuit evaluation):
+    IF (i <= na .AND. j <= nb) THEN
+      diff = 86400000_i8*(InputArray1(i)%day - InputArray2(j)%day) + InputArray1(i)%ms - InputArray2(j)%ms
+      IF (diff < 0_i8) THEN
+        OutputArray(k) = InputArray1(i)
+        i = i + 1
+      ELSE IF (diff > 0_i8) THEN
+        OutputArray(k) = InputArray2(j)
+        j = j + 1
+      ELSE
+        OutputArray(k) = InputArray1(i)
+        i = i + 1
+        j = j + 1
+      END IF
+      k = k + 1
+    END IF
+
     DO WHILE (i <= na .AND. j <= nb)
       diff = 86400000_i8*(InputArray1(i)%day - InputArray2(j)%day) + InputArray1(i)%ms - InputArray2(j)%ms
       IF (diff < 0_i8) THEN
-        IF (k == 1 .OR. ((InputArray1(i)%day /= OutputArray(k - 1)%day) .OR. (InputArray1(i)%ms /= OutputArray(k - 1)%ms))) THEN
+        IF ((InputArray1(i)%day /= OutputArray(k - 1)%day) .OR. (InputArray1(i)%ms /= OutputArray(k - 1)%ms)) THEN
           OutputArray(k) = InputArray1(i)
           k = k + 1
         END IF
         i = i + 1
       ELSE IF (diff > 0_i8) THEN
-        IF (k == 1 .OR. ((InputArray2(j)%day /= OutputArray(k - 1)%day) .OR. (InputArray2(j)%ms /= OutputArray(k - 1)%ms))) THEN
+        IF ((InputArray2(j)%day /= OutputArray(k - 1)%day) .OR. (InputArray2(j)%ms /= OutputArray(k - 1)%ms)) THEN
           OutputArray(k) = InputArray2(j)
           k = k + 1
         END IF
         j = j + 1
       ELSE
-        IF (k == 1 .OR. ((InputArray1(i)%day /= OutputArray(k - 1)%day) .OR. (InputArray1(i)%ms /= OutputArray(k - 1)%ms))) THEN
+        IF ((InputArray1(i)%day /= OutputArray(k - 1)%day) .OR. (InputArray1(i)%ms /= OutputArray(k - 1)%ms)) THEN
           OutputArray(k) = InputArray1(i)
           k = k + 1
         END IF
@@ -245,9 +263,9 @@ CONTAINS
       END IF
     END DO
 
-    ! do i = 1, k-1
-    !   write (0,*) OutputArray(i)
-    ! enddo
+    ! DO i = 1, k - 1
+    !   WRITE (0, *) OutputArray(i)
+    ! END DO
 
     nsize_OA = k - 1