diff --git a/core/java/src/net/i2p/crypto/SigUtil.java b/core/java/src/net/i2p/crypto/SigUtil.java
index 98376e8cba35ef4eb3ea4ff61b0876cf3a915fe2..649f547fa08df35f45b833cf697c2a01c4b3b3a4 100644
--- a/core/java/src/net/i2p/crypto/SigUtil.java
+++ b/core/java/src/net/i2p/crypto/SigUtil.java
@@ -372,7 +372,8 @@ public final class SigUtil {
             EdDSAParameterSpec paramspec = (EdDSAParameterSpec) pk.getType().getParams();
             EdDSAPrivateKeySpec pkspec;
             SigType type = pk.getType();
-            if (type == SigType.EdDSA_SHA512_Ed25519)
+            if (type == SigType.EdDSA_SHA512_Ed25519 ||
+                type == SigType.EdDSA_SHA512_Ed25519ph)
                 pkspec = new EdDSAPrivateKeySpec(pk.getData(), paramspec);
             else if (type == SigType.RedDSA_SHA512_Ed25519)
                 pkspec = new EdDSAPrivateKeySpec(pk.getData(), null, paramspec);
@@ -398,7 +399,8 @@ public final class SigUtil {
     public static SigningPrivateKey fromJavaKey(EdDSAPrivateKey pk, SigType type)
             throws GeneralSecurityException {
         byte[] data;
-        if (type == SigType.EdDSA_SHA512_Ed25519)
+        if (type == SigType.EdDSA_SHA512_Ed25519 ||
+            type == SigType.EdDSA_SHA512_Ed25519ph)
             data = pk.getSeed();
         else if (type == SigType.RedDSA_SHA512_Ed25519)
             data = pk.geta();