diff --git a/apps/ndn-consumer-window.cc b/apps/ndn-consumer-window.cc
index f7bbec2..474c4fc 100644
--- a/apps/ndn-consumer-window.cc
+++ b/apps/ndn-consumer-window.cc
@@ -53,16 +53,18 @@
                    MakeUintegerAccessor (&ConsumerWindow::GetPayloadSize, &ConsumerWindow::SetPayloadSize),
                    MakeUintegerChecker<uint32_t>())
 
-    .AddAttribute ("Size", "Amount of data in megabytes to request, relying on PayloadSize parameter (alternative to MaxSeq attribute)",
+    .AddAttribute ("Size",
+                   "Amount of data in megabytes to request, relying on PayloadSize parameter (alternative to MaxSeq attribute)",
                    DoubleValue (-1), // don't impose limit by default
                    MakeDoubleAccessor (&ConsumerWindow::GetMaxSize, &ConsumerWindow::SetMaxSize),
                    MakeDoubleChecker<double> ())
 
     .AddAttribute ("MaxSeq",
-                   "Maximum sequence number to request (alternative to Size attribute)",
+                   "Maximum sequence number to request (alternative to Size attribute, would activate only if Size is -1). "
+                   "The parameter is activated only if Size negative (not set)",
                    IntegerValue (std::numeric_limits<uint32_t>::max ()),
-                   MakeIntegerAccessor (&ConsumerWindow::m_seqMax),
-                   MakeIntegerChecker<uint32_t> ())
+                   MakeUintegerAccessor (&ConsumerWindow::GetSeqMax, &ConsumerWindow::SetSeqMax),
+                   MakeUintegerChecker<uint32_t> ())
 
     .AddAttribute ("InitialWindowOnTimeout", "Set window to initial value when timeout occurs",
                    BooleanValue (true),
@@ -135,6 +137,21 @@
   // std::cout << "MaxSeqNo: " << m_seqMax << "\n";
 }
 
+uint32_t
+ConsumerWindow::GetSeqMax () const
+{
+  return m_seqMax;
+}
+
+void
+ConsumerWindow::SetSeqMax (uint32_t seqMax)
+{
+  if (m_maxSize < 0)
+    m_seqMax = seqMax;
+
+  // ignore otherwise
+}
+
 
 void
 ConsumerWindow::ScheduleNextPacket ()
diff --git a/apps/ndn-consumer-window.h b/apps/ndn-consumer-window.h
index 2057123..e89d0a7 100644
--- a/apps/ndn-consumer-window.h
+++ b/apps/ndn-consumer-window.h
@@ -88,6 +88,12 @@
   void
   SetMaxSize (double size);
 
+  uint32_t
+  GetSeqMax () const;
+
+  void
+  SetSeqMax (uint32_t seqMax);
+
 private:
   uint32_t m_payloadSize; // expected payload size
   double   m_maxSize; // max size to request
