diff --git a/www/sogo3/Makefile b/www/sogo3/Makefile
index 23e0c8ba1b52..b6e4b83f8324 100644
--- a/www/sogo3/Makefile
+++ b/www/sogo3/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= sogo3
-PORTVERSION= 3.1.4
-PORTREVISION= 1
+PORTVERSION= 3.1.5
CATEGORIES= www gnustep
MASTER_SITES= http://www.sogo.nu/files/downloads/SOGo/Sources/
DISTNAME= SOGo-${PORTVERSION}
diff --git a/www/sogo3/distinfo b/www/sogo3/distinfo
index a482110c487c..8f2162fd74a2 100644
--- a/www/sogo3/distinfo
+++ b/www/sogo3/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1468935954
-SHA256 (SOGo-3.1.4.tar.gz) = 3fd4fa3b078886866c57df03c22558b0329adeac12aef3e93ff022b951f6089c
-SIZE (SOGo-3.1.4.tar.gz) = 32204142
+TIMESTAMP = 1471538608
+SHA256 (SOGo-3.1.5.tar.gz) = 71506327661e99146d79bf6167ce2c1ac0fe7fab657519ab43b5ac594c6b1ce9
+SIZE (SOGo-3.1.5.tar.gz) = 32121759
diff --git a/www/sogo3/files/patch-ActiveSync_SOGoMailObject+ActiveSync.m b/www/sogo3/files/patch-ActiveSync_SOGoMailObject+ActiveSync.m
deleted file mode 100644
index 186dd5a0c83d..000000000000
--- a/www/sogo3/files/patch-ActiveSync_SOGoMailObject+ActiveSync.m
+++ /dev/null
@@ -1,53 +0,0 @@
---- ActiveSync/SOGoMailObject+ActiveSync.m.orig 2016-07-20 04:33:03 UTC
-+++ ActiveSync/SOGoMailObject+ActiveSync.m
-@@ -1003,7 +1003,7 @@ struct GlobalObjectId {
- [s appendFormat: @"%@", [globalObjId activeSyncRepresentationInContext: context]];
-
- // We set the right message type - we must set AS version to 14.1 for this
-- if ([[context valueForKey: @"ASProtocolVersion"] floatValue] >= 14.1)
-+ if ([[context objectForKey: @"ASProtocolVersion"] floatValue] >= 14.1)
- [s appendFormat: @"%d", 1];
-
- [s appendString: @""];
-@@ -1169,7 +1169,7 @@ struct GlobalObjectId {
- truncated = 0;
- }
-
-- if ([[context valueForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"])
-+ if ([[context objectForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"])
- {
- [s appendFormat: @"
%@", content];
- [s appendFormat: @"%d", truncated];
-@@ -1204,7 +1204,7 @@ struct GlobalObjectId {
- {
- int i;
-
-- if ([[context valueForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"])
-+ if ([[context objectForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"])
- [s appendString: @""];
- else
- [s appendString: @""];
-@@ -1219,12 +1219,12 @@ struct GlobalObjectId {
- // FileReference must be a unique identifier across the whole store. We use the following structure:
- // mail//
- // mail/INBOX/2
-- if ([[context valueForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"])
-+ if ([[context objectForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"])
- [s appendFormat: @"mail/%@/%@/%@", [[[self container] relativeImap4Name] stringByEscapingURL], [self nameInContainer], [value objectForKey: @"path"]];
- else
- [s appendFormat: @"mail/%@/%@/%@", [[[self container] relativeImap4Name] stringByEscapingURL], [self nameInContainer], [value objectForKey: @"path"]];
-
-- if ([[context valueForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"])
-+ if ([[context objectForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"])
- {
- [s appendFormat: @"%d", 1];
- [s appendFormat: @"%d", [[value objectForKey: @"size"] intValue]];
-@@ -1273,7 +1273,7 @@ struct GlobalObjectId {
- [s appendFormat: @""];
- }
-
-- if ([[context valueForKey: @"ASProtocolVersion"] floatValue] >= 14.0)
-+ if ([[context objectForKey: @"ASProtocolVersion"] floatValue] >= 14.0)
- {
- id value;
- NSString *reference;
diff --git a/www/sogo3/files/patch-ActiveSync_iCalEvent+ActiveSync.m b/www/sogo3/files/patch-ActiveSync_iCalEvent+ActiveSync.m
deleted file mode 100644
index 533d763d61e5..000000000000
--- a/www/sogo3/files/patch-ActiveSync_iCalEvent+ActiveSync.m
+++ /dev/null
@@ -1,20 +0,0 @@
---- ActiveSync/iCalEvent+ActiveSync.m.orig 2016-07-20 04:33:18 UTC
-+++ ActiveSync/iCalEvent+ActiveSync.m
-@@ -244,7 +244,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
- // otherwise it'll prevent WP8 phones from sync'ing. See #3028 for details.
- o = [o activeSyncRepresentationInContext: context];
-
-- if ([[context valueForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"])
-+ if ([[context objectForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"])
- {
- [s appendFormat: @"%@", o];
- [s appendString: @"0"];
-@@ -487,7 +487,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
- }
-
- // FIXME: merge with iCalToDo
-- if ([[context valueForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"])
-+ if ([[context objectForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"])
- {
- if ((o = [theValues objectForKey: @"Body"]))
- [self setComment: o];
diff --git a/www/sogo3/files/patch-ActiveSync_iCalToDo+ActiveSync.m b/www/sogo3/files/patch-ActiveSync_iCalToDo+ActiveSync.m
deleted file mode 100644
index e90ad6bfd20e..000000000000
--- a/www/sogo3/files/patch-ActiveSync_iCalToDo+ActiveSync.m
+++ /dev/null
@@ -1,20 +0,0 @@
---- ActiveSync/iCalToDo+ActiveSync.m.orig 2016-07-20 04:33:29 UTC
-+++ ActiveSync/iCalToDo+ActiveSync.m
-@@ -127,7 +127,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
- // otherwise it'll prevent WP8 phones from sync'ing. See #3028 for details.
- o = [o activeSyncRepresentationInContext: context];
-
-- if ([[context valueForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"])
-+ if ([[context objectForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"])
- {
- [s appendFormat: @"%@", o];
- [s appendString: @"0"];
-@@ -161,7 +161,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
- [self setSummary: o];
-
- // FIXME: merge with iCalEvent
-- if ([[context valueForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"])
-+ if ([[context objectForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"])
- {
- if ((o = [theValues objectForKey: @"Body"]))
- [self setComment: o];
diff --git a/www/sogo3/files/patch-configure b/www/sogo3/files/patch-configure
deleted file mode 100644
index a06a466a80e9..000000000000
--- a/www/sogo3/files/patch-configure
+++ /dev/null
@@ -1,18 +0,0 @@
---- configure.orig 2016-07-12 16:56:55 UTC
-+++ configure
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- #
- # Note: When adding make options to this script, ensure that the source still
-@@ -235,7 +235,8 @@ genConfigMake() {
- cfgwrite "# $MAKE debug=yes"
- cfgwrite ""
-
-- cfgwrite "TOPDIR:=$( sed 's/ /\\\ /g' <<< ${TOPDIR} )"
-+ TOPDIR_CFGWRITE=`echo ${TOPDIR} | sed 's/ /\\\ /g'`
-+ cfgwrite "TOPDIR:=${TOPDIR_CFGWRITE}"
- cfgwrite ""
-
- cfgwrite "NEEDS_GUI=no"
diff --git a/www/sogo3/pkg-plist b/www/sogo3/pkg-plist
index a77ad52872dd..423335f841eb 100644
--- a/www/sogo3/pkg-plist
+++ b/www/sogo3/pkg-plist
@@ -1539,12 +1539,15 @@ GNUstep/Local/Library/SOGo/WebServerResources/js/Common/sgCheckmark.directive.js
GNUstep/Local/Library/SOGo/WebServerResources/js/Common/sgColorPicker.directive.js
GNUstep/Local/Library/SOGo/WebServerResources/js/Common/sgCompile.directive.js
GNUstep/Local/Library/SOGo/WebServerResources/js/Common/sgDatepickerReadonlyInput.directive.js
+GNUstep/Local/Library/SOGo/WebServerResources/js/Common/sgDraggable.directive.js
+GNUstep/Local/Library/SOGo/WebServerResources/js/Common/sgDroppable.directive.js
GNUstep/Local/Library/SOGo/WebServerResources/js/Common/sgEnter.directive.js
GNUstep/Local/Library/SOGo/WebServerResources/js/Common/sgEscape.directive.js
GNUstep/Local/Library/SOGo/WebServerResources/js/Common/sgFocus.directive.js
GNUstep/Local/Library/SOGo/WebServerResources/js/Common/sgFocus.service.js
GNUstep/Local/Library/SOGo/WebServerResources/js/Common/sgFolderStylesheet.directive.js
GNUstep/Local/Library/SOGo/WebServerResources/js/Common/sgPlaceholder.directive.js
+GNUstep/Local/Library/SOGo/WebServerResources/js/Common/sgRippleClick.directive.js
GNUstep/Local/Library/SOGo/WebServerResources/js/Common/sgSearch.directive.js
GNUstep/Local/Library/SOGo/WebServerResources/js/Common/sgSelectOnly.directive.js
GNUstep/Local/Library/SOGo/WebServerResources/js/Common/sgSubscribe.directive.js
@@ -1629,7 +1632,6 @@ GNUstep/Local/Library/SOGo/WebServerResources/js/vendor/angular-file-upload.min.
GNUstep/Local/Library/SOGo/WebServerResources/js/vendor/angular-file-upload.min.js.map
GNUstep/Local/Library/SOGo/WebServerResources/js/vendor/angular-material.js
GNUstep/Local/Library/SOGo/WebServerResources/js/vendor/angular-material.min.js
-GNUstep/Local/Library/SOGo/WebServerResources/js/vendor/angular-material.min.js.map
GNUstep/Local/Library/SOGo/WebServerResources/js/vendor/angular-messages.js
GNUstep/Local/Library/SOGo/WebServerResources/js/vendor/angular-messages.min.js
GNUstep/Local/Library/SOGo/WebServerResources/js/vendor/angular-messages.min.js.map