diff --git a/release-notes/VERSION b/release-notes/VERSION
index 1c212b8..3f7e691 100644
--- a/release-notes/VERSION
+++ b/release-notes/VERSION
@@ -14,6 +14,10 @@
 === Releases ===
 ------------------------------------------------------------------------
 
+2.7.10 (not yet released)
+
+#354: Buffer size dependency in UTF8JsonGenerator writeRaw
+
 2.7.9 (04-Feb-2017)
 
 No changes since 2.7.8
diff --git a/src/main/java/com/fasterxml/jackson/core/json/UTF8JsonGenerator.java b/src/main/java/com/fasterxml/jackson/core/json/UTF8JsonGenerator.java
index 5524691..2b82fcf 100644
--- a/src/main/java/com/fasterxml/jackson/core/json/UTF8JsonGenerator.java
+++ b/src/main/java/com/fasterxml/jackson/core/json/UTF8JsonGenerator.java
@@ -530,9 +530,10 @@
     public void writeRaw(String text, int offset, int len) throws IOException
     {
         final char[] buf = _charBuffer;
+        final int cbufLen = buf.length;
 
         // minor optimization: see if we can just get and copy
-        if (len <= buf.length) {
+        if (len <= cbufLen) {
             text.getChars(offset, offset+len, buf, 0);
             writeRaw(buf, 0, len);
             return;
@@ -541,7 +542,8 @@
         // If not, need segmented approach. For speed, let's also use input buffer
         // size that is guaranteed to fit in output buffer; each char can expand to
         // at most 3 bytes, so at most 1/3 of buffer size.
-        final int maxChunk = (_outputEnd >> 2) + (_outputEnd >> 4); // == (1/4 + 1/16) == 5/16
+        final int maxChunk = Math.min(cbufLen,
+                (_outputEnd >> 2) + (_outputEnd >> 4)); // == (1/4 + 1/16) == 5/16
         final int maxBytes = maxChunk * 3;
 
         while (len > 0) {
