diff --git a/kwinbindings.cpp b/kwinbindings.cpp
index 0d517c8cb64c9a32d4b2dee85ff21c73c90ecda5..bbdd75a5e347e9a836abde105d4a4d8cad69f9f4 100644
--- a/kwinbindings.cpp
+++ b/kwinbindings.cpp
@@ -159,7 +159,7 @@ DEF(I18N_NOOP("Switch to Next Screen"), 0, slotSwitchToNextScreen);
DEF(I18N_NOOP("Switch to Previous Screen"), 0, slotSwitchToPrevScreen);
DEF(I18N_NOOP("Kill Window"), Qt::CTRL + Qt::ALT + Qt::Key_Escape, slotKillWindow);
-DEF(I18N_NOOP("Suspend Compositing"), Qt::SHIFT + Qt::ALT + Qt::Key_F12, slotToggleCompositing);
+DEF6(I18N_NOOP("Suspend Compositing"), Qt::SHIFT + Qt::ALT + Qt::Key_F12, Compositor::self(), Compositor::slotToggleCompositing);
DEF6(I18N_NOOP("Invert Screen Colors"), 0, kwinApp()->platform(), Platform::invertScreen);
#undef DEF
diff --git a/useractions.cpp b/useractions.cpp
index 232882aa0e527826136e3e7ee71617f6cdc827de..dc567079322986669933c17f3257034a35d286bb 100644
--- a/useractions.cpp
+++ b/useractions.cpp
@@ -34,6 +34,7 @@ along with this program. If not, see .
#include "useractions.h"
#include "cursor.h"
#include "client.h"
+#include "composite.h"
#include "input.h"
#include "workspace.h"
#include "effects.h"
diff --git a/workspace.cpp b/workspace.cpp
index 40bb0b566afcd9ef3e14801d4511d39cf5029bf1..c38c6029c2a8f6dd76bb307b101b422b4efab39a 100644
--- a/workspace.cpp
+++ b/workspace.cpp
@@ -1654,13 +1654,6 @@ QString Workspace::supportInformation() const
return support;
}
-void Workspace::slotToggleCompositing()
-{
- if (m_compositor) {
- m_compositor->slotToggleCompositing();
- }
-}
-
Client *Workspace::findClient(std::function func) const
{
if (Client *ret = Toplevel::findInList(clients, func)) {
diff --git a/workspace.h b/workspace.h
index f27100e75b848e9eda28a0b42474cc39113ab163..7b55c759397bfc081e8bcd4bb9af4c167dfc5446 100644
--- a/workspace.h
+++ b/workspace.h
@@ -443,7 +443,6 @@ public Q_SLOTS:
void slotSetupWindowShortcut();
void setupWindowShortcutDone(bool);
- void slotToggleCompositing();
void updateClientArea();