diff --git a/kwant/_system.pyx b/kwant/_system.pyx
index ee263b9078c621efe33099956dd63fbdaf1dd6e4..d14f075b76b604a8fdd1f2a8db7336ac2d22fe02 100644
--- a/kwant/_system.pyx
+++ b/kwant/_system.pyx
@@ -213,6 +213,7 @@ def make_dense_full(ham, args, CGraph gr, diag,
     return h_sub
 
 
+@cython.embedsignature(True)
 def hamiltonian_submatrix(self, to_sites=None, from_sites=None,
                           sparse=False, return_norb=False,
                           args=()):