Index: kshisen/app.cpp
===================================================================
--- kshisen/app.cpp	(revision 735994)
+++ kshisen/app.cpp	(working copy)
@@ -146,11 +146,7 @@
 
 void App::restartGame()
 {
-	board->setUpdatesEnabled(false);
-	while(board->canUndo())
-		board->undo();
-	board->setUpdatesEnabled(true);
-	board->update();
+	board->restartGame();
 	enableItems();
 }
 
Index: kshisen/board.cpp
===================================================================
--- kshisen/board.cpp	(revision 735994)
+++ kshisen/board.cpp	(working copy)
@@ -417,6 +417,16 @@
 	emit changed();
 }
 
+void Board::restartGame()
+{
+	setUpdatesEnabled(false);
+	while(canUndo())
+		undo();
+	setUpdatesEnabled(true);
+	update();
+	starttime = time((time_t *)0);
+}
+
 bool Board::isTileHighlighted(int x, int y) const
 {
 	if(x == mark_x && y == mark_y)
Index: kshisen/board.h
===================================================================
--- kshisen/board.h	(revision 735994)
+++ kshisen/board.h	(working copy)
@@ -91,6 +91,7 @@
 	void resizeBoard();
 	QSize unscaledSize() const;
 	void newGame();
+	void restartGame();
 	void setShuffle(int);
 	int  getShuffle() const;
 
