diff --git a/CMakeLists.txt b/CMakeLists.txt
index 252a42c..9cf3dd3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -356,7 +356,8 @@
       # system's version (if available) to perform this test.
       set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES};-lz)
     endif()
-    check_function_exists(gnutls_transport_set_global_errno HAVE_OLD_GNUTLS)
+    check_function_exists(gnutls_transport_set_errno HAVE_GNUTLS_SET_ERRNO)
+    check_function_exists(gnutls_transport_set_global_errno HAVE_GNUTLS_SET_GLOBAL_ERRNO)
     check_function_exists(gnutls_x509_crt_print HAVE_GNUTLS_X509_CRT_PRINT)
     check_type_size(gnutls_x509_crt_t GNUTLS_X509_CRT_T)
     check_type_size(gnutls_datum_t GNUTLS_DATUM_T)
diff --git a/common/rdr/TLSErrno.h b/common/rdr/TLSErrno.h
new file mode 100644
index 0000000..c2ff023
--- /dev/null
+++ b/common/rdr/TLSErrno.h
@@ -0,0 +1,46 @@
+/* Copyright (C) 2012 Pierre Ossman for Cendio AB
+ *
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * 
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this software; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
+ * USA.
+ */
+
+#ifndef __RDR_TLSERRNO_H__
+#define __RDR_TLSERRNO_H__
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#ifdef HAVE_GNUTLS
+
+#include <errno.h>
+
+namespace rdr {
+
+  static inline void gnutls_errno_helper(gnutls_session session, int _errno)
+  {
+#if defined(HAVE_GNUTLS_SET_ERRNO)
+    gnutls_transport_set_errno(session, _errno);
+#elif defined(HAVE_GNUTLS_SET_GLOBAL_ERRNO)
+    gnutls_transport_set_global_errno(_errno);
+#else
+    errno = _errno;
+#endif
+  }
+};
+
+#endif
+
+#endif
diff --git a/common/rdr/TLSInStream.cxx b/common/rdr/TLSInStream.cxx
index e553085..4d2c9ec 100644
--- a/common/rdr/TLSInStream.cxx
+++ b/common/rdr/TLSInStream.cxx
@@ -25,12 +25,9 @@
 #include <rdr/Exception.h>
 #include <rdr/TLSException.h>
 #include <rdr/TLSInStream.h>
+#include <rdr/TLSErrno.h>
 #include <errno.h>
 
-#ifdef HAVE_OLD_GNUTLS
-#define gnutls_transport_set_global_errno(A) do { errno = (A); } while(0)
-#endif
-
 #ifdef HAVE_GNUTLS 
 using namespace rdr;
 
@@ -43,7 +40,7 @@
 
   try {
     if (!in->check(1, 1, false)) {
-      gnutls_transport_set_global_errno(EAGAIN);
+      gnutls_errno_helper(self->session, EAGAIN);
       return -1;
     }
 
@@ -53,7 +50,7 @@
     in->readBytes(data, size);
 
   } catch (Exception& e) {
-    gnutls_transport_set_global_errno(EINVAL);
+    gnutls_errno_helper(self->session, EINVAL);
     return -1;
   }
 
diff --git a/common/rdr/TLSOutStream.cxx b/common/rdr/TLSOutStream.cxx
index ec21670..ef32d7d 100644
--- a/common/rdr/TLSOutStream.cxx
+++ b/common/rdr/TLSOutStream.cxx
@@ -25,12 +25,9 @@
 #include <rdr/Exception.h>
 #include <rdr/TLSException.h>
 #include <rdr/TLSOutStream.h>
+#include <rdr/TLSErrno.h>
 #include <errno.h>
 
-#ifdef HAVE_OLD_GNUTLS
-#define gnutls_transport_set_global_errno(A) do { errno = (A); } while(0)
-#endif
-
 #ifdef HAVE_GNUTLS
 using namespace rdr;
 
@@ -46,7 +43,7 @@
     out->writeBytes(data, size);
     out->flush();
   } catch (Exception& e) {
-    gnutls_transport_set_global_errno(EINVAL);
+    gnutls_errno_helper(self->session, EINVAL);
     return -1;
   }
 
diff --git a/config.h.in b/config.h.in
index faeaffa..a11ec10 100644
--- a/config.h.in
+++ b/config.h.in
@@ -8,7 +8,8 @@
 #cmakedefine HAVE_STRCASECMP
 #cmakedefine HAVE_STRNCASECMP
 #cmakedefine HAVE_VSNPRINTF
-#cmakedefine HAVE_OLD_GNUTLS
+#cmakedefine HAVE_GNUTLS_SET_GLOBAL_ERRNO
+#cmakedefine HAVE_GNUTLS_SET_ERRNO
 #cmakedefine HAVE_GNUTLS_X509_CRT_PRINT
 #cmakedefine HAVE_GNUTLS_X509_CRT_T
 #cmakedefine HAVE_GNUTLS_DATUM_T
