diff --git a/src/VSTOContrib.Core/RibbonFactory/RibbonFactory.cs b/src/VSTOContrib.Core/RibbonFactory/RibbonFactory.cs
index a36d85c..44d58dd 100644
--- a/src/VSTOContrib.Core/RibbonFactory/RibbonFactory.cs
+++ b/src/VSTOContrib.Core/RibbonFactory/RibbonFactory.cs
@@ -236,7 +236,10 @@ public string GetSuperTip(IRibbonControl control)
///
public bool GetVisible(IRibbonControl control)
{
- return (bool)ribbonFactoryController.InvokeGet(control, () => GetVisible(null));
+ if (control == null || control.Context == null) return false;
+
+ object result = ribbonFactoryController.InvokeGet(control, () => GetVisible(null));
+ return (bool) result;
}
///
@@ -370,7 +373,10 @@ public string GetTitle(IRibbonControl control)
///
public bool GetPressed(IRibbonControl control)
{
- return (bool)ribbonFactoryController.InvokeGet(control, () => GetPressed(null));
+ if (control == null || control.Context == null) return false;
+
+ object result = ribbonFactoryController.InvokeGet(control, () => GetPressed(null));
+ return (bool) result;
}
///