diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index a02eebc..eaee05c 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -4939,7 +4939,8 @@ StartupXLOG(void)
 			ereport(LOG,
 					(errmsg("starting archive recovery")));
 	}
-	else if (ControlFile->minRecoveryPointTLI > 0)
+	else if (ControlFile->minRecoveryPointTLI > 0 &&
+			 ControlFile->state != DB_SHUTDOWNED_IN_RECOVERY)
 	{
 		/*
 		 * If the minRecoveryPointTLI is set when not in Archive Recovery
@@ -6833,7 +6834,7 @@ CreateCheckPoint(int flags)
 		XLogRecPtr	curInsert;
 
 		INSERT_RECPTR(curInsert, Insert, Insert->curridx);
-		if (curInsert == ControlFile->checkPoint + 
+		if (curInsert == ControlFile->checkPoint +
 			MAXALIGN(SizeOfXLogRecord + sizeof(CheckPoint)) &&
 			ControlFile->checkPoint == ControlFile->checkPointCopy.redo)
 		{
