Index: trunk/resources/data/defaultpresets.xml
===================================================================
--- trunk/resources/data/defaultpresets.xml	(revision 16931)
+++ trunk/resources/data/defaultpresets.xml	(revision 16938)
@@ -1633,4 +1633,5 @@
             <key key="barrier" value="city_wall" />
             <reference ref="optional_height" />
+            <check key="two_sided" text="Two-sided" disable_off="true" />
             <combo key="material" text="Material" values="adobe,brick,concrete,glass,masonry,metal,plastic,reinforced_concrete,steel,stone,wood" />
         </item> <!-- City Wall -->
Index: trunk/resources/images/presets/barrier/barrier_pattern.svg
===================================================================
--- trunk/resources/images/presets/barrier/barrier_pattern.svg	(revision 16938)
+++ trunk/resources/images/presets/barrier/barrier_pattern.svg	(revision 16938)
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="7"
+   height="7"
+   viewBox="0 0 7 7"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
+   sodipodi:docname="07.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="45.254834"
+     inkscape:cx="0.056141185"
+     inkscape:cy="4.0346337"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     units="px"
+     inkscape:window-width="1680"
+     inkscape:window-height="987"
+     inkscape:window-x="-8"
+     inkscape:window-y="-8"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid4136" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+        <cc:license
+           rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1045.3622)">
+    <path
+       style="fill:#b2b2b2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 1.6,1046.3622 h 3.8 l -1.9,6 z"
+       id="path4145"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+  </g>
+</svg>
Index: trunk/resources/styles/standard/elemstyles.mapcss
===================================================================
--- trunk/resources/styles/standard/elemstyles.mapcss	(revision 16931)
+++ trunk/resources/styles/standard/elemstyles.mapcss	(revision 16938)
@@ -415,11 +415,18 @@
     fill-color: barrier#F0F050;
 }
+way[barrier=city_wall][two_sided!=yes] {
+    repeat-image: "presets/barrier/barrier_pattern.svg";
+    repeat-image-align: top;
+    repeat-image-offset: 0.5;
+}
 way[barrier=kerb] {
     repeat-image: "presets/barrier/kerb_pattern.svg";
     repeat-image-align: top;
+    repeat-image-offset: 0.5;
 }
 way[barrier=retaining_wall] {
     repeat-image: "presets/misc/cliff_pattern.svg";
     repeat-image-align: top;
+    repeat-image-offset: 0.5;
 }
 node[barrier=hedge],
@@ -4660,4 +4667,5 @@
     repeat-image: "presets/misc/cliff_pattern.svg";
     repeat-image-align: top;
+    repeat-image-offset: 0.5;
     width: 1;
     color: #b2b2b2;
