diff --git a/mercurial/subrepo.py b/mercurial/subrepo.py
--- a/mercurial/subrepo.py
+++ b/mercurial/subrepo.py
@@ -307,7 +307,8 @@ class hgsubrepo(abstractsubrepo):
             node1 = node.bin(self._state[1])
             # We currently expect node2 to come from substate and be
             # in hex format
-            node2 = node.bin(node2)
+            if node2 is not None:
+                node2 = node.bin(node2)
             cmdutil.diffordiffstat(self._repo.ui, self._repo, diffopts,
                                    node1, node2, match,
                                    prefix=os.path.join(prefix, self._path),