diff --git a/src/syncterm/ssh.c b/src/syncterm/ssh.c
index 825caad8eaf170634f54641fb353d8c4b0022074..532dfdebc1737e14015982908413092bc10f4e2b 100644
--- a/src/syncterm/ssh.c
+++ b/src/syncterm/ssh.c
@@ -56,7 +56,7 @@ void ssh_input_thread(void *args)
 				sprintf(str,"Error %d recieving data",status);
 				strcat(str,"\r\n\r\n");
 				err_len=sizeof(str)-strlen(str)-1;
-				cl.GetAttributeString(ssh_session, CRYPT_ATTRIBUTE_INT_ERRORMESSAGE, str+strlen(str), &err_len);
+				cl.GetAttributeString(ssh_session, CRYPT_ATTRIBUTE_ERRORMESSAGE, str+strlen(str), &err_len);
 				uifcmsg("Error recieving data",str);
 				break;
 			}
@@ -104,7 +104,7 @@ void ssh_output_thread(void *args)
 					sprintf(str,"Error %d sending data",status);
 					strcat(str,"\r\n\r\n");
 					err_len=sizeof(str)-strlen(str)-1;
-					cl.GetAttributeString(ssh_session, CRYPT_ATTRIBUTE_INT_ERRORMESSAGE, str+strlen(str), &err_len);
+					cl.GetAttributeString(ssh_session, CRYPT_ATTRIBUTE_ERRORMESSAGE, str+strlen(str), &err_len);
 					uifcmsg("Error sending data",str);
 				}
 				sent += ret;
@@ -219,7 +219,7 @@ int ssh_connect(struct bbslist *bbs)
 		sprintf(str,"Error %d activating session",status);
 		strcat(str,"\r\n\r\n");
 		err_len=sizeof(str)-strlen(str)-1;
-		cl.GetAttributeString(ssh_session, CRYPT_ATTRIBUTE_INT_ERRORMESSAGE, str+strlen(str), &err_len);
+		cl.GetAttributeString(ssh_session, CRYPT_ATTRIBUTE_ERRORMESSAGE, str+strlen(str), &err_len);
 		uifcmsg("Error activating session",str);
 		conn_api.terminate=1;
 		uifc.pop(NULL);
diff --git a/src/syncterm/st_crypt.h b/src/syncterm/st_crypt.h
index 23c6eca65b86b6e47b98be9f62a0b3b5db39d888..c355381eabe40314288216ff2f40c5c5cfd4e773 100644
--- a/src/syncterm/st_crypt.h
+++ b/src/syncterm/st_crypt.h
@@ -5,6 +5,9 @@
 
 #ifndef WITHOUT_CRYPTLIB
 #include"cryptlib.h"
+#if CRYPTLIB_VERSION < 3400
+#define CRYPT_ATTRIBUTE_ERRORMESSAGE	CRYPT_ATTRIBUTE_INT_ERRORMESSAGE
+#endif
 
 #if defined(_MSC_VER)
 	#undef C_RET