diff --git a/Nomyx-Core.cabal b/Nomyx-Core.cabal
--- a/Nomyx-Core.cabal
+++ b/Nomyx-Core.cabal
@@ -1,5 +1,5 @@
 name: Nomyx-Core
-version: 0.6.0
+version: 0.6.1
 cabal-version: >=1.6
 build-type: Simple
 license: BSD3
@@ -15,7 +15,7 @@
 data-dir: data
  
 library 
-    build-depends: Nomyx-Language         == 0.6.0,
+    build-depends: Nomyx-Language         == 0.6.1,
                    DebugTraceHelpers      == 0.12.*,
                    MissingH               == 1.2.*,
                    acid-state             == 0.12.*,
diff --git a/src/Nomyx/Core/Engine/GameEvents.hs b/src/Nomyx/Core/Engine/GameEvents.hs
--- a/src/Nomyx/Core/Engine/GameEvents.hs
+++ b/src/Nomyx/Core/Engine/GameEvents.hs
@@ -141,11 +141,13 @@
    tracePN pn $ "input result: EventNumber " ++ show en ++ ", InputNumber " ++ show inn ++ ", choice " ++ show ir
    runEvalError (Just pn) $ triggerInput en inn ir
 
+getTimes :: EventInfo -> [UTCTime]
+getTimes (EventInfo _ _ es _ SActive esr) = mapMaybe getTime (getEventFields es esr)
+getTimes _ = []
 
--- TODO repair
-getTimes :: EventInfo -> Maybe UTCTime
-getTimes (EventInfo _ _ (BaseEvent (Time t)) _ SActive _) = Just t
-getTimes _ = Nothing
+getTime :: SomeField -> Maybe UTCTime
+getTime (SomeField (Time t)) = Just t
+getTime _                    = Nothing
 
 -- | A helper function to use the state transformer GameState.
 -- It additionally sets the current time.
diff --git a/src/Nomyx/Core/Multi.hs b/src/Nomyx/Core/Multi.hs
--- a/src/Nomyx/Core/Multi.hs
+++ b/src/Nomyx/Core/Multi.hs
@@ -38,7 +38,8 @@
 -- | get all events that has not been triggered yet
 getTimeEvents :: UTCTime -> Multi -> IO [UTCTime]
 getTimeEvents now m = do
-    let times = mapMaybe getTimes $ concatMap (getL $ loggedGame >>> game >>> events) $ _gameInfos  m
+    let eventInfos = concatMap (getL $ loggedGame >>> game >>> events) $ _gameInfos  m
+    let times = concatMap getTimes eventInfos
     return $ filter (\t -> t <= now && t > (-2) `addUTCTime` now) times
 
 -- | the initial rule set for a game.
