diff --git a/patches/0011-ecdhe_psk.patch b/patches/0011-ecdhe_psk.patch
index f2d3d8b..614b3ad 100644
--- a/patches/0011-ecdhe_psk.patch
+++ b/patches/0011-ecdhe_psk.patch
@@ -340,7 +340,7 @@
 +			/* ECDHE PSK ciphersuites from RFC 5489 */
 +			if ((alg_a & SSL_aPSK) && psk_len != 0)
 +				{
-+				pre_ms_len = 2+psk_len+2+n;
++				pre_ms_len = 2+n+2+psk_len;
 +				pre_ms = OPENSSL_malloc(pre_ms_len);
 +				if (pre_ms == NULL)
 +					{
@@ -350,11 +350,11 @@
 +					}
 +				memset(pre_ms, 0, pre_ms_len);
 +				t = pre_ms;
-+				s2n(psk_len, t);
-+				memcpy(t, psk, psk_len);
-+				t += psk_len;
 +				s2n(n, t);
 +				memcpy(t, p, n);
++				t += n;
++				s2n(psk_len, t);
++				memcpy(t, psk, psk_len);
 +				s->session->master_key_length = s->method->ssl3_enc \
 +					-> generate_master_secret(s,
 +						s->session->master_key, pre_ms, pre_ms_len);
@@ -1120,7 +1120,7 @@
 -			s->session->psk_identity_hint = BUF_strdup(s->ctx->psk_identity_hint);
 -			if (s->ctx->psk_identity_hint != NULL &&
 -				s->session->psk_identity_hint == NULL)
-+			pre_ms_len = 2+psk_len+2+i;
++			pre_ms_len = 2+i+2+psk_len;
 +			pre_ms = OPENSSL_malloc(pre_ms_len);
 +			if (pre_ms == NULL)
  				{
@@ -1140,11 +1140,11 @@
 -				goto f_err;
 +			memset(pre_ms, 0, pre_ms_len);
 +			t = pre_ms;
-+			s2n(psk_len, t);
-+			memcpy(t, psk, psk_len);
-+			t += psk_len;
 +			s2n(i, t);
 +			memcpy(t, p, i);
++			t += i;
++			s2n(psk_len, t);
++			memcpy(t, psk, psk_len);
 +			s->session->master_key_length = s->method->ssl3_enc \
 +				-> generate_master_secret(s,
 +					s->session->master_key, pre_ms, pre_ms_len);
diff --git a/ssl/s3_clnt.c b/ssl/s3_clnt.c
index 486f538..1c1ba49 100644
--- a/ssl/s3_clnt.c
+++ b/ssl/s3_clnt.c
@@ -2820,7 +2820,7 @@
 			/* ECDHE PSK ciphersuites from RFC 5489 */
 			if ((alg_a & SSL_aPSK) && psk_len != 0)
 				{
-				pre_ms_len = 2+psk_len+2+n;
+				pre_ms_len = 2+n+2+psk_len;
 				pre_ms = OPENSSL_malloc(pre_ms_len);
 				if (pre_ms == NULL)
 					{
@@ -2830,11 +2830,11 @@
 					}
 				memset(pre_ms, 0, pre_ms_len);
 				t = pre_ms;
-				s2n(psk_len, t);
-				memcpy(t, psk, psk_len);
-				t += psk_len;
 				s2n(n, t);
 				memcpy(t, p, n);
+				t += n;
+				s2n(psk_len, t);
+				memcpy(t, psk, psk_len);
 				s->session->master_key_length = s->method->ssl3_enc \
 					-> generate_master_secret(s,
 						s->session->master_key, pre_ms, pre_ms_len);
diff --git a/ssl/s3_srvr.c b/ssl/s3_srvr.c
index f83c936..a38e00e 100644
--- a/ssl/s3_srvr.c
+++ b/ssl/s3_srvr.c
@@ -2837,7 +2837,7 @@
 		/* ECDHE PSK ciphersuites from RFC 5489 */
 	    if ((alg_a & SSL_aPSK) && psk_len != 0)
 			{
-			pre_ms_len = 2+psk_len+2+i;
+			pre_ms_len = 2+i+2+psk_len;
 			pre_ms = OPENSSL_malloc(pre_ms_len);
 			if (pre_ms == NULL)
 				{
@@ -2847,11 +2847,11 @@
 				}
 			memset(pre_ms, 0, pre_ms_len);
 			t = pre_ms;
-			s2n(psk_len, t);
-			memcpy(t, psk, psk_len);
-			t += psk_len;
 			s2n(i, t);
 			memcpy(t, p, i);
+			t += i;
+			s2n(psk_len, t);
+			memcpy(t, psk, psk_len);
 			s->session->master_key_length = s->method->ssl3_enc \
 				-> generate_master_secret(s,
 					s->session->master_key, pre_ms, pre_ms_len);
