diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index e3c67f7431e9217ca092a2d5fff92fe62cdb8878..9952d40944d00278b3d497e5c681a9c249feb893 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -6470,10 +6470,13 @@ out:
 	/* expunge message - use UID Expunge if supported on IMAP server*/
 	ast_log(LOG_DEBUG, "*** Checking if we can expunge, deleted set to %d, expungeonhangup set to %d\n",deleted,expungeonhangup);
 	if (vmu && deleted == 1 && expungeonhangup == 1)  {
+#ifdef HAVE_IMAP_TK2006
 	      	if (LEVELUIDPLUS (vms.mailstream)) {
 			ast_log(LOG_DEBUG, "*** About to expunge messages using UID\n");
 			mail_expunge_full(vms.mailstream,NIL,EX_UID);
-		} else {
+		} else 
+#endif
+		{
 			ast_log(LOG_DEBUG, "*** About to expunge messages\n");
 			mail_expunge(vms.mailstream);
 		}
diff --git a/configure.ac b/configure.ac
index 83cf0242ae92995085d75580aa6c78c45bc058c2..d4559cdc4f11cdc152a493b85e6cf94f76a3579f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -348,8 +348,7 @@ if test "${USE_IMAP_TK}" != "no"; then
    LIBS="${LIBS} ${IMAP_TK_DIR}/c-client/c-client.a "`echo ${imap_ldflags}`
    AC_LINK_IFELSE(
 	AC_LANG_PROGRAM(
-		[#include "c-client.h"],
-		[
+		[#include "c-client.h"
 		void mm_searched (MAILSTREAM *stream,unsigned long number)
 		{
 		}
@@ -394,16 +393,71 @@ if test "${USE_IMAP_TK}" != "no"; then
 		}
 		void mm_fatal (char *string)
 		{
-		}
-		int main()
-		{
+		}],
+		[
 		MAILSTREAM *foo = mail_open(NULL, "", 0);
-		}
 		]
 	),
 	[ac_cv_imap_tk="yes"],
 	[ac_cv_imap_tk="no"]
    )
+   if test "${ac_cv_imap_tk}" = "yes"; then
+   AC_LINK_IFELSE(
+      AC_LANG_PROGRAM(
+         [#include "c-client.h"
+         void mm_searched (MAILSTREAM *stream,unsigned long number)
+         {
+         }
+         void mm_exists (MAILSTREAM *stream,unsigned long number)
+         {
+         }
+         void mm_expunged (MAILSTREAM *stream,unsigned long number)
+         {
+         }
+         void mm_flags (MAILSTREAM *stream,unsigned long number)
+         {
+         }
+         void mm_notify (MAILSTREAM *stream,char *string,long errflg)
+         {
+         }
+         void mm_list (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
+         {
+         }
+         void mm_lsub (MAILSTREAM *stream,int delimiter,char *mailbox,long attributes)
+         {
+         }
+         void mm_status (MAILSTREAM *stream,char *mailbox,MAILSTATUS *status)
+         {
+         }
+         void mm_log (char *string,long errflg)
+         {
+         }
+         void mm_dlog (char *string)
+         {
+         }
+         void mm_login (NETMBX *mb,char *user,char *pwd,long trial)
+         {
+         }
+         void mm_critical (MAILSTREAM *stream)
+         {
+         }
+         void mm_nocritical (MAILSTREAM *stream)
+         {
+         }
+         long mm_diskerror (MAILSTREAM *stream,long errcode,long serious)
+         {
+         }
+         void mm_fatal (char *string)
+         {
+         }],
+         [
+         long check = mail_expunge_full(NULL, "", 0);
+         ]
+      ),
+      [ac_cv_imap_tk2006="yes"],
+      [ac_cv_imap_tk2006="no"]
+  )
+  fi
    CPPFLAGS="${saved_cppflags}"
    LIBS="${saved_libs}"
    if test "${ac_cv_imap_tk}" = "yes"; then
@@ -412,6 +466,9 @@ if test "${USE_IMAP_TK}" != "no"; then
       IMAP_TK_INCLUDE="-I${IMAP_TK_DIR}/c-client"
       PBX_IMAP_TK=1
       AC_DEFINE([HAVE_IMAP_TK], 1, [Define if your system has the UW IMAP Toolkit c-client library.])
+      if test "${ac_cv_imap_tk2006}" = "yes"; then
+         AC_DEFINE([HAVE_IMAP_TK2006], 1, [Define if your system has the UW IMAP Toolkit c-client library version 2006 or greater.])
+      fi
    elif test ! -z "${IMAP_TK_MANDATORY}"; then
       AC_MSG_RESULT(no) 
       AC_MSG_NOTICE(***)
diff --git a/doc/imapstorage.txt b/doc/imapstorage.txt
index b71659b91cf3c843212901cb242bb5ff3eaeec3a..f1c1fea5d15f1363cfc92d022ddec21804be0e8e 100644
--- a/doc/imapstorage.txt
+++ b/doc/imapstorage.txt
@@ -58,7 +58,9 @@ Configure with ./configure --with-imap=/usr/src/imap
 or where ever you built the University of Washington IMAP C-Client.
 Then make menuselect go to voicemail options and check the imap box
 then make, make install and asterisk will have imap storage support for 
-voicemail.
+voicemail. If you are using there 2004 version you will not have access to
+their mail_expunge_full function if you install the 2006 dev branch it will
+configure will detect and enable this for you.
 
 ---------------------
 Modify voicemail.conf