diff --git a/ros-common-msgs/distinfo b/ros-common-msgs/distinfo
index b17008454313d8681939d4b205e006eefe4860a4..e8a19bae7e0901d9732744543420fdb2d792504c 100644
--- a/ros-common-msgs/distinfo
+++ b/ros-common-msgs/distinfo
@@ -1,3 +1,4 @@
 SHA1 (ros-fuerte-common-msgs_1.8.13.orig.tar.gz) = c8f401c5be32860e40d606b0391be7fc33faf1e5
 RMD160 (ros-fuerte-common-msgs_1.8.13.orig.tar.gz) = 62381e1fa63e58b32daf648a19fdf5a86ab42166
 Size (ros-fuerte-common-msgs_1.8.13.orig.tar.gz) = 31331 bytes
+SHA1 (patch-aa) = 6aa1531093cad0bb787c1d700b62abef0d62e1ea
diff --git a/ros-common-msgs/patches/patch-aa b/ros-common-msgs/patches/patch-aa
new file mode 100644
index 0000000000000000000000000000000000000000..6f963357450a1cad30647a899bddd5f9f950c04b
--- /dev/null
+++ b/ros-common-msgs/patches/patch-aa
@@ -0,0 +1,31 @@
+Install generated .msg in the correct place (not with the full source path
+under CMAKE_INSTALL_PREFIX).
+
+--- actionlib_msgs/cmake/actionlib_msgs-extras.cmake.in~	2012-07-26 20:35:09.000000000 +0200
++++ actionlib_msgs/cmake/actionlib_msgs-extras.cmake.in	2012-10-09 18:23:34.476534949 +0200
+@@ -22,13 +22,15 @@
+     set(DIRECTORY_FULL_PATH ${CMAKE_CURRENT_SOURCE_DIR}/${ARG_DIRECTORY})
+   endif()
+ 
+-  # todo, handle relative vs full path
++  # todo, handle relative vs full path XXX handled in robotpkg
+   _prepend_path(${DIRECTORY_FULL_PATH} "${ARG_FILES}" FILES_W_PATH)
++  # XXX robotpkg tries to handle todo
++  _prepend_path(${ARG_DIRECTORY} "${ARG_FILES}" FILES_WO_PATH)
+ 
+   list(APPEND ${PROJECT_NAME}_ACTION_FILES ${FILES_W_PATH})
+ 
+   if(NOT ARG_NOINSTALL)
+-    install(FILES ${FILES_W_PATH} DESTINATION share/${PROJECT_NAME}/${ARG_DIRECTORY})
++    install(FILES ${FILES_WO_PATH} DESTINATION share/${PROJECT_NAME}/${ARG_DIRECTORY})
+   endif()
+ 
+   foreach(actionfile ${FILES_W_PATH})
+@@ -54,6 +56,7 @@
+     endif()
+ 
+     add_message_files(
++      DST actions_gen
+       DIRECTORY ${OUTPUT_DIR}
+       FILES ${OUTPUT_FILES})
+