diff --git a/XenModel/XenAPI-Extensions/Host.cs b/XenModel/XenAPI-Extensions/Host.cs
index cbaf98e8b..db9bce7d9 100644
--- a/XenModel/XenAPI-Extensions/Host.cs
+++ b/XenModel/XenAPI-Extensions/Host.cs
@@ -713,11 +713,15 @@ namespace XenAPI
}
///
+ /// For legacy build numbers only (used to be integers + one char at the end)
+ /// From Falcon, this property is not used.
+ ///
+ ///
/// Return the build number of this host, or -1 if none can be found. This will often be
/// 0 or -1 for developer builds, so comparisons should generally treat those numbers as if
/// they were brand new.
- ///
- public int BuildNumber
+ ///
+ internal int BuildNumber
{
get
{
@@ -737,8 +741,11 @@ namespace XenAPI
}
///
- /// Return the build number of this host, without stripping off the final letter etc.; or null if none can be found.
+ /// Return the exact build_number of this host
///
+ ///
+ /// null if not found
+ ///
public virtual string BuildNumberRaw
{
get { return Get(software_version, "build_number"); }
@@ -752,7 +759,7 @@ namespace XenAPI
get
{
string productVersion = ProductVersion;
- return productVersion != null ? string.Format("{0}.{1}", productVersion, BuildNumber) : null;
+ return productVersion != null ? string.Format("{0}.{1}", productVersion, Helpers.FalconOrGreater(this) ? BuildNumberRaw : BuildNumber.ToString()) : null;
}
}