diff --git a/tests/functional/test_fish.py b/tests/functional/test_fish.py
index fd8d3158..af546bc6 100644
--- a/tests/functional/test_fish.py
+++ b/tests/functional/test_fish.py
@@ -3,7 +3,7 @@ from tests.functional.plots import with_confirmation, without_confirmation, \
     refuse_with_confirmation
 from tests.functional.utils import spawn, functional
 
-containers = [('ubuntu-python3-bash', '''
+containers = [('ubuntu-python3-fish', '''
 FROM ubuntu:latest
 RUN apt-get update
 RUN apt-get install -yy python3 python3-pip python3-dev fish
@@ -11,7 +11,7 @@ RUN pip3 install -U setuptools
 RUN ln -s /usr/bin/pip3 /usr/bin/pip
 CMD ["/usr/bin/fish"]
 '''),
-              ('ubuntu-python2-bash', '''
+              ('ubuntu-python2-fish', '''
 FROM ubuntu:latest
 RUN apt-get update
 RUN apt-get install -yy python python-pip python-dev fish
diff --git a/tests/functional/test_tcsh.py b/tests/functional/test_tcsh.py
new file mode 100644
index 00000000..febcfa21
--- /dev/null
+++ b/tests/functional/test_tcsh.py
@@ -0,0 +1,49 @@
+import pytest
+from tests.functional.utils import spawn, functional
+from tests.functional.plots import with_confirmation, without_confirmation, \
+    refuse_with_confirmation
+
+containers = [('ubuntu-python3-tcsh', '''
+FROM ubuntu:latest
+RUN apt-get update
+RUN apt-get install -yy python3 python3-pip python3-dev tcsh
+RUN pip3 install -U setuptools
+RUN ln -s /usr/bin/pip3 /usr/bin/pip
+CMD ["/usr/bin/tcsh"]
+'''),
+              ('ubuntu-python2-tcsh', '''
+FROM ubuntu:latest
+RUN apt-get update
+RUN apt-get install -yy python python-pip python-dev tcsh
+RUN pip2 install -U pip setuptools
+CMD ["/usr/bin/tcsh"]
+''')]
+
+
+@functional
+@pytest.mark.parametrize('tag, dockerfile', containers)
+def test_with_confirmation(tag, dockerfile):
+    with spawn(tag, dockerfile) as proc:
+        proc.sendline('tcsh')
+        proc.sendline('eval `thefuck-alias`')
+        with_confirmation(proc)
+
+
+@functional
+@pytest.mark.parametrize('tag, dockerfile', containers)
+def test_refuse_with_confirmation(tag, dockerfile):
+    with spawn(tag, dockerfile) as proc:
+        proc.sendline('tcsh')
+        proc.sendline('eval `thefuck-alias`')
+        refuse_with_confirmation(proc)
+
+
+@functional
+@pytest.mark.parametrize('tag, dockerfile', containers)
+def test_without_confirmation(tag, dockerfile):
+    with spawn(tag, dockerfile) as proc:
+        proc.sendline('tcsh')
+        proc.sendline('mkdir ~/.thefuck')
+        proc.sendline('echo "require_confirmation = False" >> ~/.thefuck/settings.py')
+        proc.sendline('eval `thefuck-alias`')
+        without_confirmation(proc)
diff --git a/thefuck/shells.py b/thefuck/shells.py
index cf703c38..d5fac6e3 100644
--- a/thefuck/shells.py
+++ b/thefuck/shells.py
@@ -194,7 +194,7 @@ class Tcsh(Generic):
     def app_alias(self, fuck):
         return ("alias {0} 'setenv TF_ALIAS {0} && "
                 "set fucked_cmd=`history -h 2 | head -n 1` && "
-                "eval `thefuck ${fucked_cmd}`'").format(fuck)
+                "eval `thefuck ${{fucked_cmd}}`'").format(fuck)
 
     def _parse_alias(self, alias):
         name, value = alias.split("\t", 1)