diff --git a/mythtv/libs/libmythfreemheg/Engine.cpp b/mythtv/libs/libmythfreemheg/Engine.cpp
index 3ef0825..78d5151 100644
--- a/mythtv/libs/libmythfreemheg/Engine.cpp
+++ b/mythtv/libs/libmythfreemheg/Engine.cpp
@@ -914,14 +914,14 @@ void MHEngine::GenerateUserAction(int nCode)
     {
         case 104:
         case 105: // Text key
-            EventTriggered(pScene, EventEngineEvent, 4);
+            EngineEvent(4);
             break;
         case 16: // Text Exit/Cancel key
         case 100: // Red
         case 101: // Green
         case 102: // Yellow
         case 103: // Blue
-            EventTriggered(pScene, EventEngineEvent, nCode);
+            EngineEvent(nCode);
             break;
     }
 
@@ -1279,6 +1279,10 @@ bool MHEngine::GetEngineSupport(const MHOctetString &feature)
         {
             return true;
         }
+        else if (strings[1] == "1285")
+        {
+            return true;
+        }
         else
         {
             return false;
diff --git a/mythtv/libs/libmythfreemheg/Text.cpp b/mythtv/libs/libmythfreemheg/Text.cpp
index 000c06f..968b302 100644
--- a/mythtv/libs/libmythfreemheg/Text.cpp
+++ b/mythtv/libs/libmythfreemheg/Text.cpp
@@ -328,6 +328,11 @@ void MHText::Preparation(MHEngine *engine)
 
     MHVisible::Preparation(engine);
 
+    if (m_pDisplay == NULL)
+    {
+	    m_pDisplay = engine->GetContext()->CreateText();
+    }
+
     m_pDisplay->SetSize(m_nBoxWidth, m_nBoxHeight);
     m_fNeedsRedraw = true;
 }
diff --git a/mythtv/libs/libmythfreemheg/Visible.cpp b/mythtv/libs/libmythfreemheg/Visible.cpp
index 8ee4e3f..552276c 100644
--- a/mythtv/libs/libmythfreemheg/Visible.cpp
+++ b/mythtv/libs/libmythfreemheg/Visible.cpp
@@ -287,8 +287,8 @@ MHLineArt::MHLineArt(const MHLineArt &ref): MHVisible(ref)
     m_fBorderedBBox = ref.m_fBorderedBBox;
     m_nOriginalLineWidth = ref.m_nOriginalLineWidth;
     m_OriginalLineStyle = ref.m_OriginalLineStyle;
-    m_OrigLineColour = ref.m_OrigLineColour;
-    m_OrigFillColour = ref.m_OrigFillColour;
+    m_OrigLineColour.Copy(ref.m_OrigLineColour);
+    m_OrigFillColour.Copy(ref.m_OrigFillColour);
     m_nLineWidth = ref.m_nLineWidth;
     m_LineStyle = ref.m_LineStyle;
 }
