diff --git a/modules/legacy/src/features2d.cpp b/modules/legacy/src/features2d.cpp
index e9cbc34004..5a6659d905 100644
--- a/modules/legacy/src/features2d.cpp
+++ b/modules/legacy/src/features2d.cpp
@@ -95,7 +95,7 @@ cvExtractSURF( const CvArr* _img, const CvArr* _mask,
     {
         if( _keypoints )
         {
-            CvSURFPoint pt = cvSURFPoint(kpt[i].pt, kpt[i].class_id, cvRound(kpt[i].size));
+            CvSURFPoint pt = cvSURFPoint(kpt[i].pt, kpt[i].class_id, cvRound(kpt[i].size), kpt[i].angle, kpt[i].response);
             cvSeqPush(*_keypoints, &pt);
         }
         if( _descriptors )
diff --git a/modules/python/test/test.py b/modules/python/test/test.py
index d497ad0999..daace0f9e8 100644
--- a/modules/python/test/test.py
+++ b/modules/python/test/test.py
@@ -239,7 +239,7 @@ class FunctionTests(OpenCVTests):
         a = self.get_sample("samples/c/lena.jpg", 0)
         b = self.get_sample("samples/c/lena.jpg", 0)
         (w,h) = cv.GetSize(a)
-        vel_size = (w - 8, h - 8)
+        vel_size = (w - 8 + 1, h - 8 + 1)
         velx = cv.CreateImage(vel_size, cv.IPL_DEPTH_32F, 1)
         vely = cv.CreateImage(vel_size, cv.IPL_DEPTH_32F, 1)
         cv.CalcOpticalFlowBM(a, b, (8,8), (1,1), (8,8), 0, velx, vely)