diff --git a/src/main/java/com/comandante/creeper/command/MovementCommand.java b/src/main/java/com/comandante/creeper/command/MovementCommand.java
index 0ca09b3c43a94bfd06a824ab4d16caad38d52cbf..b05384736f87a97c3918d610a8e1fc74e8c06012 100644
--- a/src/main/java/com/comandante/creeper/command/MovementCommand.java
+++ b/src/main/java/com/comandante/creeper/command/MovementCommand.java
@@ -3,6 +3,7 @@ package com.comandante.creeper.command;
 import com.comandante.creeper.managers.GameManager;
 import com.comandante.creeper.player.CoolDownType;
 import com.comandante.creeper.player.PlayerMovement;
+import com.comandante.creeper.spells.Effect;
 import com.comandante.creeper.world.RemoteExit;
 import com.comandante.creeper.world.Room;
 import com.google.common.base.Optional;
@@ -11,6 +12,7 @@ import org.jboss.netty.channel.ChannelHandlerContext;
 import org.jboss.netty.channel.MessageEvent;
 
 import java.util.Arrays;
+import java.util.Iterator;
 import java.util.List;
 
 public class MovementCommand extends Command {
@@ -44,6 +46,13 @@ public class MovementCommand extends Command {
                 write("You are dead and can not move.");
                 return;
             }
+            for (String effectId : playerManager.getPlayerMetadata(playerId).getEffects()) {
+                Effect effect = gameManager.getEntityManager().getEffectEntity(effectId);
+                if (effect.isFrozenMovement()) {
+                    write("You are frozen and can not move.");
+                    return;
+                }
+            }
             final String command = getRootCommand(e);
             PlayerMovement playerMovement = null;
             if (!validTriggers.contains(command.toLowerCase())) {
diff --git a/src/main/java/com/comandante/creeper/command/admin/TeleportCommand.java b/src/main/java/com/comandante/creeper/command/admin/TeleportCommand.java
index db5b11180e06ddabd41f35ec5aa09d7170a83f71..9666b4f5aec44f60d307fa1a7b32d1ae3f437d61 100644
--- a/src/main/java/com/comandante/creeper/command/admin/TeleportCommand.java
+++ b/src/main/java/com/comandante/creeper/command/admin/TeleportCommand.java
@@ -8,6 +8,7 @@ import com.comandante.creeper.player.Player;
 import com.comandante.creeper.player.PlayerMovement;
 import com.comandante.creeper.player.PlayerRole;
 import com.comandante.creeper.server.Color;
+import com.comandante.creeper.spells.Effect;
 import com.comandante.creeper.world.Room;
 import com.google.common.collect.Sets;
 import org.jboss.netty.channel.ChannelHandlerContext;
@@ -43,6 +44,13 @@ public class TeleportCommand extends Command {
                 write("You are dead and can not move.");
                 return;
             }
+            for (String effectId : playerManager.getPlayerMetadata(playerId).getEffects()) {
+                Effect effect = gameManager.getEntityManager().getEffectEntity(effectId);
+                if (effect.isFrozenMovement()) {
+                    write("You are frozen and can not move.");
+                    return;
+                }
+            }
             String desiredId = originalMessageParts.get(1);
             Iterator<Map.Entry<String, Player>> players = playerManager.getPlayers();
             while (players.hasNext()) {