diff --git a/src/backend/postmaster/fork_process.c b/src/backend/postmaster/fork_process.c
index 827b0b2..01876ee 100644
--- a/src/backend/postmaster/fork_process.c
+++ b/src/backend/postmaster/fork_process.c
@@ -18,6 +18,10 @@
 #include <sys/time.h>
 #include <unistd.h>
 
+#ifdef USE_SSL
+#include <openssl/rand.h>
+#endif
+
 #ifndef WIN32
 /*
  * Wrapper for fork(). Return values are the same as those for fork():
@@ -124,6 +128,13 @@ fork_process(void)
 			}
 		}
 #endif   /* LINUX_OOM_ADJ */
+
+		/*
+		 * Make sure processes do not share randomness state.
+		 */
+#ifdef USE_SSL
+		RAND_cleanup();
+#endif
 	}
 
 	return result;
