diff --git a/src/Artemis.Core/Plugins/DeviceProviders/DeviceProvider.cs b/src/Artemis.Core/Plugins/DeviceProviders/DeviceProvider.cs
index dd3d7ad5b..949065503 100644
--- a/src/Artemis.Core/Plugins/DeviceProviders/DeviceProvider.cs
+++ b/src/Artemis.Core/Plugins/DeviceProviders/DeviceProvider.cs
@@ -51,12 +51,6 @@ namespace Artemis.Core.DeviceProviders
///
public bool CanDetectLogicalLayout { get; protected set; }
- ///
- public override void Disable()
- {
- // Does not happen with device providers, they require Artemis to restart
- }
-
///
/// Loads a layout for the specified device and wraps it in an
///
diff --git a/src/Artemis.Core/Plugins/PluginFeature.cs b/src/Artemis.Core/Plugins/PluginFeature.cs
index b0e08554f..1eadf61aa 100644
--- a/src/Artemis.Core/Plugins/PluginFeature.cs
+++ b/src/Artemis.Core/Plugins/PluginFeature.cs
@@ -129,7 +129,8 @@ namespace Artemis.Core
internal virtual void InternalDisable()
{
- Disable();
+ if (IsEnabled)
+ Disable();
}
#region IDisposable