Suppose \(C\) is a subset of non-zero vectors from the vector space \(\mathbb{Z}_2^d\). The cubelike graph \(X(C)\) has \(\mathbb{Z}_2^d\) as its vertex set, and two elements of \(\mathbb{Z}_2^d\) are adjacent if their difference is in \(C\). If \(M\) is the \(d\times |C|\) matrix with the elements of \(C\) as its columns, we call the row space of \(M\) the code of \(X\). We use this code to study perfect state transfer on cubelike graphs. Bernasconi et al have shown that perfect state transfer occurs on \(X(C)\) at time \(\pi/2\) if and only if the sum of the elements of \(C\) is not zero. Here we consider what happens when this sum is zero. We prove that if perfect state transfer occurs on a cubelike graph, then it must take place at time \(\tau=\pi/2D\), where \(D\) is the greatest common divisor of the weights of the code words. We show that perfect state transfer occurs at time \(\pi/4\) if and only if D=2 and the code is self-orthogonal.