diff --git a/runtime/gdev/src/lib.rs b/runtime/gdev/src/lib.rs
index cecb06be5088a2346dc7dd256479df2d11857756..4b7d0427887bc85146940e9d8be33f516533e325 100644
--- a/runtime/gdev/src/lib.rs
+++ b/runtime/gdev/src/lib.rs
@@ -173,7 +173,12 @@ mod benches {
 pub struct BaseCallFilter;
 impl Contains<RuntimeCall> for BaseCallFilter {
     fn contains(call: &RuntimeCall) -> bool {
-        !matches!(call, RuntimeCall::Session(_))
+        // not allowed to run session calls directly
+        // not allowed to burn currency
+        !matches!(
+            call,
+            RuntimeCall::Session(_) | RuntimeCall::Balances(pallet_balances::Call::burn { .. })
+        )
     }
 }