diff --git a/Changes b/Changes
index 47f9b2f..06d3996 100644
--- a/Changes
+++ b/Changes
@@ -10,6 +10,7 @@
           a single extension, if possible (diewald)
         - [bugfix] Fixed paths in test suite for supporting
           spaces (margaretha)
+        - [bugfix] Warn on empty elements in positional queries (diewald)
 
 0.55.6 2016-08-10
         - [bugfix] distance with key "t" uses default foundry (diewald)
diff --git a/misc/errorcodes.md b/misc/errorcodes.md
index 1ef94c6..0a01892 100644
--- a/misc/errorcodes.md
+++ b/misc/errorcodes.md
@@ -8,6 +8,7 @@
 603: "Unable to commit staged data to index"
 604: "Unable to connect to database"
 610: "Missing request parameters"
+613: Arbitrary deserialization error
 620: "Unable to generate JSON"
 621: "Unable to parse JSON"
 630: "Document not found"
@@ -62,6 +63,8 @@
 769: "Overlap variant currently interpreted as overlap"
 770: "Arity attributes are currently not supported - results may not be correct"
 771: "Arbitrary elements with attributes are currently not supported"
+772: "'Any' elements are currently not supported in position operations"
+773: "Negative elements are currently not supported in position operations"
 780: "This query matches everywhere"
 781: "Optionality of query is ignored"
 782: "Exclusivity of query is ignored"
diff --git a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanWithinQueryWrapper.java b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanWithinQueryWrapper.java
index 576b1e0..ceb58f2 100644
--- a/src/main/java/de/ids_mannheim/korap/query/wrap/SpanWithinQueryWrapper.java
+++ b/src/main/java/de/ids_mannheim/korap/query/wrap/SpanWithinQueryWrapper.java
@@ -96,6 +96,15 @@
 
         // TODO: if (wrap.isNegative())
 
+		if (this.element.isEmpty() || this.wrap.isEmpty()) {
+			throw new QueryException(772, "'Any' elements are currently not supported in position operations");
+		};
+
+		if (this.element.isNegative() || this.wrap.isNegative()) {
+			throw new QueryException(773, "Negative elements are currently not supported in position operations");
+		};
+		
+		
         return new SpanWithinQuery(
                 this.element.retrieveNode(this.retrieveNode).toFragmentQuery(),
                 this.wrap.retrieveNode(this.retrieveNode).toFragmentQuery(),
@@ -118,7 +127,7 @@
 
     @Override
     public boolean isNegative () {
-        if (this.element.isNegative())
+        if (this.element.isNegative() || this.wrap.isNegative())
             return true;
         return false;
     };
diff --git a/src/test/java/de/ids_mannheim/korap/query/TestSpanWithinQuery.java b/src/test/java/de/ids_mannheim/korap/query/TestSpanWithinQuery.java
index 24f296c..829167f 100644
--- a/src/test/java/de/ids_mannheim/korap/query/TestSpanWithinQuery.java
+++ b/src/test/java/de/ids_mannheim/korap/query/TestSpanWithinQuery.java
@@ -4,7 +4,9 @@
 import de.ids_mannheim.korap.query.wrap.SpanSequenceQueryWrapper;
 import de.ids_mannheim.korap.query.SpanWithinQuery;
 import de.ids_mannheim.korap.query.SpanElementQuery;
+import de.ids_mannheim.korap.query.QueryBuilder;
 
+import org.apache.lucene.search.spans.SpanQuery;
 import de.ids_mannheim.korap.util.QueryException;
 
 import static org.junit.Assert.*;
@@ -47,4 +49,17 @@
                 "spanStartsWith(<field:s />, spanNext(spanNext(field:a, field:b), field:c))",
                 ssequery.toString());
     };
+
+	@Test
+    public void spanSegmentStartsWithEmptyQuery () {
+
+		QueryBuilder qb = new QueryBuilder("field1");
+		
+		try {
+			SpanQuery sq = qb.startswith(qb.tag("base/s"), qb.empty()).toQuery();
+		}
+		catch (QueryException qe) {
+			assertEquals(qe.getErrorCode(), 772);
+		};
+    };
 };
