diff --git a/apps/enc.c b/apps/enc.c
index 719acc3..c2b3191 100644
--- a/apps/enc.c
+++ b/apps/enc.c
@@ -114,6 +114,7 @@ int MAIN(int argc, char **argv)
 	char *hkey=NULL,*hiv=NULL,*hsalt = NULL;
 	char *md=NULL;
 	int enc=1,printkey=0,i,base64=0;
+	int itrcnt=1;
 #ifdef ZLIB
 	int do_zlib=0;
 	BIO *bzl = NULL;
@@ -225,6 +226,11 @@ int MAIN(int argc, char **argv)
 			if (--argc < 1) goto bad;
 			str= *(++argv);
 			}
+		else if (strcmp(*argv,"-ic") == 0)
+			{
+			if (--argc < 1) goto bad;
+			itrcnt= atoi(*(++argv));
+			}
 		else if (strcmp(*argv,"-kfile") == 0)
 			{
 			static char buf[128];
@@ -303,6 +309,7 @@ bad:
 			BIO_printf(bio_err,"%-14s decrypt\n","-d");
 			BIO_printf(bio_err,"%-14s base64 encode/decode, depending on encryption flag\n","-a/-base64");
 			BIO_printf(bio_err,"%-14s passphrase is the next argument\n","-k");
+			BIO_printf(bio_err,"%-14s iteration count is the next argument\n","-ic");
 			BIO_printf(bio_err,"%-14s passphrase is the first line of the file argument\n","-kfile");
 			BIO_printf(bio_err,"%-14s the next argument is the md to use to create a key\n","-md");
 			BIO_printf(bio_err,"%-14s   from a passphrase.  One of md2, md5, sha or sha1\n","");
@@ -554,7 +561,7 @@ bad:
 
 			EVP_BytesToKey(cipher,dgst,sptr,
 				(unsigned char *)str,
-				strlen(str),1,key,iv);
+				strlen(str),itrcnt,key,iv);
 			/* zero the complete buffer or the string
 			 * passed from the command line
 			 * bug picked up by
