diff --git a/core/src/cz/nic/tablexia/game/games/in_the_darkness/InTheDarknessGame.java b/core/src/cz/nic/tablexia/game/games/in_the_darkness/InTheDarknessGame.java
index 91601e64da0a1e17ca19a33b9007ae74c37fb5a7..8b79604d820cf263f7244b9943ddd702368ddaf7 100644
--- a/core/src/cz/nic/tablexia/game/games/in_the_darkness/InTheDarknessGame.java
+++ b/core/src/cz/nic/tablexia/game/games/in_the_darkness/InTheDarknessGame.java
@@ -34,6 +34,7 @@ import cz.nic.tablexia.game.games.in_the_darkness.map.mapobject.MapObjectType;
 import cz.nic.tablexia.game.games.in_the_darkness.map.tile.Tile;
 import cz.nic.tablexia.game.games.in_the_darkness.map.widget.MapWidget;
 import cz.nic.tablexia.loader.application.ApplicationTextManager;
+import cz.nic.tablexia.model.game.GameDAO;
 import cz.nic.tablexia.shared.model.Game;
 import cz.nic.tablexia.util.Log;
 import cz.nic.tablexia.util.ScaleUtil;
@@ -510,7 +511,7 @@ public class InTheDarknessGame extends AbstractTablexiaGame<List<MapWidget>> imp
     }
 
     private void goToPlayMode() {
-        setGameScore(SCORE_KEY_PLANNING_DURATION, getGameScoreFloat(SCORE_KEY_PLANNING_DURATION, 0f) + (System.currentTimeMillis() - planningStartTime - getGame().getAllPausesDuration()));
+        setGameScore(SCORE_KEY_PLANNING_DURATION, getGameScoreFloat(SCORE_KEY_PLANNING_DURATION, 0f) + (System.currentTimeMillis() - planningStartTime - GameDAO.getAllPausesDuration(getGame())));
         disableStartButton(true);
         actionsWidget.disableActions();
         actionsStripWidget.disableControl();
diff --git a/core/src/cz/nic/tablexia/game/games/pursuit/PursuitGame.java b/core/src/cz/nic/tablexia/game/games/pursuit/PursuitGame.java
index 7a40be2d4c78b89eecd3a42f00c5f4899488a70e..ac676afd5259be9d0f5f86eb794b6a14184ccef7 100644
--- a/core/src/cz/nic/tablexia/game/games/pursuit/PursuitGame.java
+++ b/core/src/cz/nic/tablexia/game/games/pursuit/PursuitGame.java
@@ -62,11 +62,11 @@ public class PursuitGame extends AbstractTablexiaGame<int[][]> {
     public static class GameResultResolver implements GameDefinition.GameResultResolver {
         @Override
         public GameResult getGameCupsResult(Game game) {
-            return GameRulesHelper.getNumberOfStarsForTime(GameDifficulty.getGameDifficultyForDifficultyNumber(game.getGameDifficulty()), game.getGameDuration());
+            return GameRulesHelper.getNumberOfStarsForTime(GameDifficulty.getGameDifficultyForDifficultyNumber(game.getGameDifficulty()), GameDAO.getGameDuration(game));
         }
         @Override
         public float getGameScoreResult(Game game) {
-             return game.getGameDuration() != null ? (float)game.getGameDuration() : 0;
+             return GameDAO.getGameDuration(game) != null ? (float)GameDAO.getGameDuration(game) : 0;
         }
 
 	}
@@ -489,7 +489,7 @@ public class PursuitGame extends AbstractTablexiaGame<int[][]> {
 
     @Override
     protected List<SummaryMessage> getSummaryMessageForGameResult(Game game) {
-        return Arrays.asList(new SummaryMessage(SummaryImage.TIME, getFormattedText(SUMMARY_TEXT_TIME, getOverallTimeText(game.getGameDuration()))),
+        return Arrays.asList(new SummaryMessage(SummaryImage.TIME, getFormattedText(SUMMARY_TEXT_TIME, getOverallTimeText(GameDAO.getGameDuration(game)))),
                 new SummaryMessage(SummaryImage.STATS, getFormattedText(SUMMARY_TEXT_MOVE_COUNT, game.getGameScore(SCORE_KEY_MOVE_COUNT, "0"))));
     }
 
diff --git a/core/src/cz/nic/tablexia/model/game/GameDAO.java b/core/src/cz/nic/tablexia/model/game/GameDAO.java
index 445f0fb88f2789c4c771f8b4591f1031131b6370..190e59f635b3a8dd8b9aa55ae808702f1f8242c1 100644
--- a/core/src/cz/nic/tablexia/model/game/GameDAO.java
+++ b/core/src/cz/nic/tablexia/model/game/GameDAO.java
@@ -17,6 +17,7 @@ import cz.nic.tablexia.game.common.TablexiaRandom;
 import cz.nic.tablexia.game.difficulty.GameDifficulty;
 import cz.nic.tablexia.model.UserDAO;
 import cz.nic.tablexia.shared.model.Game;
+import cz.nic.tablexia.shared.model.GamePause;
 import cz.nic.tablexia.shared.model.GameScore;
 import cz.nic.tablexia.shared.model.User;
 import cz.nic.tablexia.util.Log;
@@ -74,6 +75,25 @@ public class GameDAO {
         return null;
     }
 
+	public static Long getAllPausesDuration(Game game) {
+		long pausesDuration = 0;
+		List<GamePause> gamePauses = GamePauseDAO.selectGamePausesForGame(game);
+
+		for (GamePause gamePause : gamePauses) {
+			if (gamePause.hasStartTime() && gamePause.hasEndTime()) {
+				pausesDuration = pausesDuration + (gamePause.getEndTime() - gamePause.getStartTime());
+			}
+		}
+		return pausesDuration;
+	}
+
+	public static Long getGameDuration(Game game) {
+		if (game.getEndTime() == null || game.getGameStartTime() == null) {
+			return null;
+		}
+		return game.getEndTime() - game.getGameStartTime() - getAllPausesDuration(game);
+	}
+
     public static void setGameScore(final Game game, final String key, final String value) {
         new Thread(new Runnable() {
             @Override