diff --git a/BaseTools/Source/Python/build/BuildReport.py b/BaseTools/Source/Python/build/BuildReport.py
index a1ee43aa26..a7cbb6a98c 100644
--- a/BaseTools/Source/Python/build/BuildReport.py
+++ b/BaseTools/Source/Python/build/BuildReport.py
@@ -737,6 +737,13 @@ class PcdReport(object):
             UnusedPcdFullList = []
             for item in Pa.Platform.Pcds:
                 Pcd = Pa.Platform.Pcds[item]
+                if not Pcd.Type:
+                    # check the Pcd in FDF file, whether it is used in module first
+                    for T in ["FixedAtBuild", "PatchableInModule", "FeatureFlag", "Dynamic", "DynamicEx"]:
+                        PcdList = self.AllPcds.setdefault(Pcd.TokenSpaceGuidCName, {}).setdefault(T, [])
+                        if Pcd in PcdList:
+                            Pcd.Type = T
+                            break
                 if not Pcd.Type:
                     PcdTypeFlag = False
                     for package in Pa.PackageList: