diff --git a/OpenSim/Framework/AgentCircuitData.cs b/OpenSim/Framework/AgentCircuitData.cs
index ffcc5840e8..acf925a408 100644
--- a/OpenSim/Framework/AgentCircuitData.cs
+++ b/OpenSim/Framework/AgentCircuitData.cs
@@ -128,7 +128,30 @@ namespace OpenSim.Framework
///
/// Viewer's version string as reported by the viewer at login
///
- public string Viewer;
+ private string ViewerInternal;
+
+ ///
+ /// Viewer's version string
+ ///
+ public string Viewer
+ {
+ set { ViewerInternal = value; }
+ // Try to return consistent viewer string taking into account
+ // that viewers have chaagned how version is reported
+ // See http://opensimulator.org/mantis/view.php?id=6851
+ get
+ {
+ // Old style version string contains viewer name followed by a space followed by a version number
+ if (ViewerInternal.Contains(" "))
+ {
+ return ViewerInternal;
+ }
+ else // New style version contains no spaces, just version number
+ {
+ return Channel + " " + ViewerInternal;
+ }
+ }
+ }
///
/// The channel strinf sent by the viewer at login