diff --git a/psGrammar/tasks/gpsr/gpsr23.jsgf b/psGrammar/tasks/gpsr/gpsr23.jsgf
index fa644c201fc766b1cb1302c2eac70fabe2d7aef2..4768dc03d6f34bfb3a963becd6d9569a1096cc67 100644
--- a/psGrammar/tasks/gpsr/gpsr23.jsgf
+++ b/psGrammar/tasks/gpsr/gpsr23.jsgf
@@ -103,10 +103,8 @@ public <sentence> 		= [could you | robot | tobi | tiago] [please] <command>;
 <LocPrep> 			= in | at;
 <onLocPrep> 			= on;
 <arePrep> 			= are;
-<absPrep>           = <direction> most;
-<relPrep>           = (at the <direction> of ) | <position>;
-<direction>         = left | right;
-<position>            = above | behind | under | (on top of);
+<absPrep>           = (at the (left | right) of) | ((left | right) most);
+<relPrep>           = (at the (left | right)) of | (above | behind | under | (on top of));
 <shape>             = biggest | largest | smallest | heaviest | lightest | thinnest;
 
 <V_take>    			= bring | take | get | grasp | (pick up);