diff --git a/CHANGES.txt b/CHANGES.txt
index 8da65742663302ff1787b62512f180d8866d3fd5..4762b2ec4f5d7af3dd5930670de11e8853be6701 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -13,6 +13,9 @@ Templates
 ---------
 * Changed retrieval of templates for config files that alter EXP_ID
   Now tries config file name before using EXP_ID as template name
+* Disabled evaluation of standard Jinja blocks ({% ... %}) and comments
+  ({# ... #}). This allows handling templates with standard Jinja code and shell
+  scripts using array length expansion (${#ARRAY})
 
 Release 0.4.2
 =============
diff --git a/mkexp b/mkexp
index cc781b6cc08440fff9eb1d4dc2b639a363597846..b7f4bdb07814e88848f78c3713e79e47cb13df7b 100755
--- a/mkexp
+++ b/mkexp
@@ -297,6 +297,8 @@ template_env = Environment(
     variable_end_string = '}',
     line_statement_prefix = '#%',
     line_comment_prefix = '#%#',
+    block_start_string = '{%DiSaBlEdAnDuNlIkElY',
+    comment_start_string = '{#DiSaBlEdAnDuNlIkElY',
     extensions=['jinja2.ext.do']
 )    
 
diff --git a/test.py b/test.py
index 3459f5882b0a1a0090e231a1d5ec614f29abf41a..f9eb11b62f2d4925cd203e50398cc2ba7350405b 100644
--- a/test.py
+++ b/test.py
@@ -407,6 +407,24 @@ class ContentTestCase(MkexpTestCase):
         result = align(result)
         self.assertMultiLineEqual(expected, result)
 
+class JinjaTemplateTestCase(MkexpSimpleTestCase):
+
+    def test_ignore_blocks(self):
+        self.run_test("""
+            {% set answer = 42 %}
+        """, """
+            {% set answer = 42 %}
+        """)
+
+    def test_ignore_comments(self):
+        self.run_test("""
+            {# no comment #}
+            ${#ARRAY}
+        """, """
+            {# no comment #}
+            ${#ARRAY}
+        """)
+
 class DefaultEnvironmentTestCase(MkexpSimpleTestCase):
 
     def test_basic(self):