diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index 749d013340cc308ce821c195483a86dbda7e1ed1..6d8910938348dae1fb71390af02ae1b963c09e5f 100755
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -340,8 +340,10 @@ void TranslateMemoryDecoration(const glslang::TQualifier& qualifier, std::vector
 {
     if (qualifier.coherent)
         memory.push_back(spv::DecorationCoherent);
-    if (qualifier.volatil)
+    if (qualifier.volatil) {
         memory.push_back(spv::DecorationVolatile);
+        memory.push_back(spv::DecorationCoherent);
+    }
     if (qualifier.restrict)
         memory.push_back(spv::DecorationRestrict);
     if (qualifier.readonly)
diff --git a/Test/baseResults/spv.memoryQualifier.frag.out b/Test/baseResults/spv.memoryQualifier.frag.out
index d6ae535cb43014e8209c7d44496cdb95bb9bb5ea..02783b98355def2346a4024c49230bd9767954b3 100644
--- a/Test/baseResults/spv.memoryQualifier.frag.out
+++ b/Test/baseResults/spv.memoryQualifier.frag.out
@@ -35,6 +35,7 @@ spv.memoryQualifier.frag
                               Decorate 19(i2D) DescriptorSet 0
                               Decorate 19(i2D) Binding 1
                               Decorate 19(i2D) Volatile
+                              Decorate 19(i2D) Coherent
                               Decorate 28(i2DRect) DescriptorSet 0
                               Decorate 28(i2DRect) Binding 2
                               Decorate 28(i2DRect) Restrict
@@ -48,6 +49,7 @@ spv.memoryQualifier.frag
                               MemberDecorate 49(Data) 1 Offset 8
                               MemberDecorate 50(Buffer) 0 Coherent
                               MemberDecorate 50(Buffer) 0 Volatile
+                              MemberDecorate 50(Buffer) 0 Coherent
                               MemberDecorate 50(Buffer) 0 Offset 0
                               MemberDecorate 50(Buffer) 1 Coherent
                               MemberDecorate 50(Buffer) 1 Restrict
diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h
index 13807bc6cf769c49871bce1af7ac24cfedee4384..d18126d00e060dcb3305ed7bb7e470f69820f3de 100644
--- a/glslang/Include/revision.h
+++ b/glslang/Include/revision.h
@@ -1,3 +1,3 @@
 // This header is generated by the make-revision script.
 
-#define GLSLANG_PATCH_LEVEL 2764
+#define GLSLANG_PATCH_LEVEL 2765