diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/Python/AutoGen/AutoGen.py
index 15365e7..95370d1 100644
--- a/BaseTools/Source/Python/AutoGen/AutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
@@ -1091,7 +1091,7 @@
             for Inf in self._AsBuildInfList:
                 InfClass = PathClass(NormPath(Inf), GlobalData.gWorkspace, self.Arch)
                 M = self.BuildDatabase[InfClass, self.Arch, self.BuildTarget, self.ToolChain]
-                if not M.IsSupportedArch:
+                if not M.IsBinaryModule:
                     continue
                 self._AsBuildModuleList.append(InfClass)
         # get library/modules for build
@@ -1346,7 +1346,7 @@
                 # If a module INF in FDF but not in current arch's DSC module list, it must be module (either binary or source)
                 # for different Arch. PCDs in source module for different Arch is already added before, so skip the source module here.
                 # For binary module, if in current arch, we need to list the PCDs into database.
-                if not M.IsSupportedArch:
+                if not M.IsBinaryModule:
                     continue
                 # Override the module PCD setting by platform setting
                 ModulePcdList = self.ApplyPcdSetting(M, M.Pcds)
diff --git a/BaseTools/Source/Python/Workspace/InfBuildData.py b/BaseTools/Source/Python/Workspace/InfBuildData.py
index 1325b4f..d666c09 100644
--- a/BaseTools/Source/Python/Workspace/InfBuildData.py
+++ b/BaseTools/Source/Python/Workspace/InfBuildData.py
@@ -578,12 +578,7 @@
             EdkLogger.error('build', RESOURCE_NOT_AVAILABLE, ExtraData=ErrorInfo, File=self.MetaFile)
 
         return Binaries
-    ## Check whether it exists the binaries with current ARCH in AsBuild INF
-    def _IsSupportedArch(self):
-        if self._GetBinaries() and not self._GetSourceFiles():
-            return True
-        else:
-            return False
+
     ## Retrieve source files
     def _GetSourceFiles(self):
         # Ignore all source files in a binary build mode
@@ -1170,4 +1165,3 @@
     Depex                   = property(_GetDepex)
     DepexExpression         = property(_GetDepexExpression)
     IsBinaryModule          = property(_IsBinaryModule)
-    IsSupportedArch         = property(_IsSupportedArch)
