diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 6ecdceb..5337895 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -3224,6 +3224,7 @@
 
 int ssl_get_session( const ssl_context *ssl, ssl_session *dst )
 {
+    int ret;
     ssl_session *src;
 
     if( ssl == NULL ||
@@ -3239,10 +3240,23 @@
     ssl_session_free( dst );
     memcpy( dst, src, sizeof( ssl_session ) );
 
-    /*
-     * For now, just set peer_cert to NULL, deep-copy not implemented yet
-     */
-    dst->peer_cert = NULL;
+#if defined(POLARSSL_X509_PARSE_C)
+    if( src->peer_cert != NULL )
+    {
+        if( ( dst->peer_cert = polarssl_malloc( sizeof(x509_cert) ) ) == NULL )
+            return( POLARSSL_ERR_SSL_MALLOC_FAILED );
+
+        memset( dst->peer_cert, 0, sizeof(x509_cert) );
+
+        if( ( ret = x509parse_crt( dst->peer_cert, src->peer_cert->raw.p,
+                                   src->peer_cert->raw.len ) != 0 ) )
+        {
+            polarssl_free( dst->peer_cert );
+            dst->peer_cert = NULL;
+            return( ret );
+        }
+    }
+#endif /* POLARSSL_X509_PARSE_C */
 
     return( 0 );
 }
