diff --git a/teckids.sty b/teckids.sty
index 1393cd0f518cbba22a0ea0cd22b0e6f405bddbaf..fbfd0ad4fbb0f3cd2b0b27c99c6298c00b0c1cd9 100644
--- a/teckids.sty
+++ b/teckids.sty
@@ -8,6 +8,7 @@
 %	Niklas Bildhauer <niklas.bildhauer@teckids.org>
 % with contributions by (among others)
 %	Steven B. Segletes <http://tex.stackexchange.com/users/25858>
+%	Enrico Gregorio <http://tex.stackexchange.com/users/4427>
 %
 % Provided that these terms and disclaimer and all copyright notices
 % are retained or reproduced in an accompanying document, permission
@@ -49,16 +50,19 @@
 \RequirePackage{pxfonts}
 \renewcommand{\familydefault}{\sfdefault}
 \RequirePackage{hyphenat}
+\RequirePackage{letltxmacro}
 
 \newcommand\0{\scalebox{-1}[1]{0}}
-\let\svttfamily\ttfamily
-\let\svtexttt\texttt
+\LetLtxMacro\svttfamily\ttfamily
+\begingroup\ttfamily\endgroup
+\DeclareRobustCommand\ttfamily{%
 \catcode`0=\active
-\def0{\0}
-\renewcommand\ttfamily{\svttfamily\catcode`0=\active }
-\renewcommand\texttt{\bgroup\ttfamily\texttthelp}
-\def\texttthelp#1{#1\egroup}
-\catcode`0=12
+\svttfamily
+}
+\LetLtxMacro{\svtexttt}{\texttt}
+\DeclareRobustCommand{\texttt}{\begingroup\catcode`0=\active\dotexttt}
+\newcommand\dotexttt[1]{\svtexttt{#1}\endgroup}
+\begingroup\lccode`~=`0 \lowercase{\endgroup\def~}{\0}
 
 \DeclareGraphicsExtensions{.pdf,.eps,.png,.jpg}