diff --git a/NetSSL_OpenSSL/include/Poco/Net/SecureSocketImpl.h b/NetSSL_OpenSSL/include/Poco/Net/SecureSocketImpl.h
index 7bc7514b8..a12447fbe 100644
--- a/NetSSL_OpenSSL/include/Poco/Net/SecureSocketImpl.h
+++ b/NetSSL_OpenSSL/include/Poco/Net/SecureSocketImpl.h
@@ -161,6 +161,15 @@ public:
 		/// underlying TCP connection. No orderly SSL shutdown
 		/// is performed.
 
+	void setBlocking(bool flag);
+		/// Sets the socket in blocking mode if flag is true,
+		/// disables blocking mode if flag is false.
+
+	bool getBlocking() const;
+		/// Returns the blocking mode of the socket.
+		/// This method will only work if the blocking modes of
+		/// the socket are changed via the setBlocking method!
+
 	int sendBytes(const void* buffer, int length, int flags = 0);
 		/// Sends the contents of the given buffer through
 		/// the socket. Any specified flags are ignored.
diff --git a/NetSSL_OpenSSL/src/SecureSocketImpl.cpp b/NetSSL_OpenSSL/src/SecureSocketImpl.cpp
index d38ff39d2..edbd61d77 100644
--- a/NetSSL_OpenSSL/src/SecureSocketImpl.cpp
+++ b/NetSSL_OpenSSL/src/SecureSocketImpl.cpp
@@ -311,6 +311,22 @@ void SecureSocketImpl::close()
 }
 
 
+void SecureSocketImpl::setBlocking(bool flag)
+{
+	poco_check_ptr (_pSocket);
+
+	_pSocket->setBlocking(flag);
+}
+
+
+bool SecureSocketImpl::getBlocking() const
+{
+	poco_check_ptr (_pSocket);
+
+	return _pSocket->getBlocking();
+}
+
+
 int SecureSocketImpl::sendBytes(const void* buffer, int length, int flags)
 {
 	poco_assert (_pSocket->initialized());